https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d8695eee1e92a7f2bdcdbc638d1372fcb8fe1a5e

commit d8695eee1e92a7f2bdcdbc638d1372fcb8fe1a5e
Author:     Hermès Bélusca-Maïto <hermes.belusca-ma...@reactos.org>
AuthorDate: Tue Aug 22 20:41:02 2023 +0200
Commit:     Hermès Bélusca-Maïto <hermes.belusca-ma...@reactos.org>
CommitDate: Tue Aug 29 17:26:57 2023 +0200

    [NTOS:MM] Add missing validation of Ordinal in MiLocateExportName (#4918)
---
 ntoskrnl/mm/ARM3/sysldr.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ntoskrnl/mm/ARM3/sysldr.c b/ntoskrnl/mm/ARM3/sysldr.c
index 89f394bddb5..c5f42ca582d 100644
--- a/ntoskrnl/mm/ARM3/sysldr.c
+++ b/ntoskrnl/mm/ARM3/sysldr.c
@@ -304,6 +304,9 @@ MiLocateExportName(IN PVOID DllBase,
     /* Check if we couldn't find it */
     if (Ordinal == -1) return NULL;
 
+    /* Validate the ordinal */
+    if (Ordinal >= ExportDirectory->NumberOfFunctions) return NULL;
+
     /* Resolve the address and write it */
     ExportTable = (PULONG)((ULONG_PTR)DllBase +
                            ExportDirectory->AddressOfFunctions);

Reply via email to