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

commit ba342e1d14e9a36fb3ad6f739a5cd46a1a458b59
Author:     Hermès Bélusca-Maïto <hermes.belusca-ma...@reactos.org>
AuthorDate: Mon Nov 25 22:43:56 2024 +0100
Commit:     Hermès Bélusca-Maïto <hermes.belusca-ma...@reactos.org>
CommitDate: Sat Dec 14 23:31:41 2024 +0100

    [FREELDR] peloader.c: Minor code enhancements.
    
    PeLdrCheckForLoadedDll():
    - Use a for-loop to iterate over the linked list.
    - Adjust few comments.
    - Use SAL2 annotations.
    
    PeLdrpCompareDllName():
    - Make its input paramters const.
    - Use SAL2 annotations.
---
 boot/freeldr/freeldr/include/peloader.h |  6 ++---
 boot/freeldr/freeldr/lib/peloader.c     | 44 ++++++++++++++++-----------------
 2 files changed, 24 insertions(+), 26 deletions(-)

diff --git a/boot/freeldr/freeldr/include/peloader.h 
b/boot/freeldr/freeldr/include/peloader.h
index b2374f74ceb..80792698c08 100644
--- a/boot/freeldr/freeldr/include/peloader.h
+++ b/boot/freeldr/freeldr/include/peloader.h
@@ -63,9 +63,9 @@ PeLdrScanImportDescriptorTable(
 
 BOOLEAN
 PeLdrCheckForLoadedDll(
-    IN OUT PLIST_ENTRY ModuleListHead,
-    IN PCH DllName,
-    OUT PLDR_DATA_TABLE_ENTRY *LoadedEntry);
+    _Inout_ PLIST_ENTRY ModuleListHead,
+    _In_ PCSTR DllName,
+    _Out_ PLDR_DATA_TABLE_ENTRY* LoadedEntry);
 
 PVOID
 PeLdrInitSecurityCookie(
diff --git a/boot/freeldr/freeldr/lib/peloader.c 
b/boot/freeldr/freeldr/lib/peloader.c
index 06bcf41720b..279647d04ac 100644
--- a/boot/freeldr/freeldr/lib/peloader.c
+++ b/boot/freeldr/freeldr/lib/peloader.c
@@ -74,11 +74,11 @@ PeLdrpFetchAddressOfSecurityCookie(PVOID BaseAddress, ULONG 
SizeOfImage)
     return Cookie;
 }
 
-/* DllName - physical, UnicodeString->Buffer - virtual */
+/* DllName: physical, UnicodeString->Buffer: virtual */
 static BOOLEAN
 PeLdrpCompareDllName(
-    IN PCH DllName,
-    IN PUNICODE_STRING UnicodeName)
+    _In_ PCSTR DllName,
+    _In_ PCUNICODE_STRING UnicodeName)
 {
     PWSTR Buffer;
     SIZE_T i, Length;
@@ -92,8 +92,8 @@ PeLdrpCompareDllName(
         UnicodeNamePA.Length = UnicodeName->Length;
         UnicodeNamePA.MaximumLength = UnicodeName->MaximumLength;
         UnicodeNamePA.Buffer = VaToPa(UnicodeName->Buffer);
-        TRACE("PeLdrpCompareDllName: %s and %wZ, Length = %d "
-              "UN->Length %d\n", DllName, &UnicodeNamePA, Length, 
UnicodeName->Length);
+        TRACE("PeLdrpCompareDllName: %s and %wZ, Length = %d, UN->Length %d\n",
+              DllName, &UnicodeNamePA, Length, UnicodeName->Length);
     }
 #endif
 
@@ -122,7 +122,7 @@ PeLdrpCompareDllName(
         return TRUE;
     }
 
-    /* Strings don't match, return FALSE */
+    /* Strings don't match */
     return FALSE;
 }
 
@@ -582,27 +582,28 @@ PeLdrInitSecurityCookie(PLDR_DATA_TABLE_ENTRY LdrEntry)
     return Cookie;
 }
 
-/* Returns TRUE if DLL has already been loaded - looks in LoadOrderList in LPB 
*/
+/* Returns TRUE if the DLL has already been loaded in the module list */
 BOOLEAN
 PeLdrCheckForLoadedDll(
-    IN OUT PLIST_ENTRY ModuleListHead,
-    IN PCH DllName,
-    OUT PLDR_DATA_TABLE_ENTRY *LoadedEntry)
+    _Inout_ PLIST_ENTRY ModuleListHead,
+    _In_ PCSTR DllName,
+    _Out_ PLDR_DATA_TABLE_ENTRY* LoadedEntry)
 {
+    PLIST_ENTRY ModuleEntry;
     PLDR_DATA_TABLE_ENTRY DataTableEntry;
-    LIST_ENTRY *ModuleEntry;
 
     TRACE("PeLdrCheckForLoadedDll: DllName %s\n", DllName);
 
-    /* Just go through each entry in the LoadOrderList and compare loaded 
module's
-       name with a given name */
-    ModuleEntry = ModuleListHead->Flink;
-    while (ModuleEntry != ModuleListHead)
+    /* Go through each entry in the LoadOrderList and
+     * compare the module's name with the given name */
+    for (ModuleEntry = ModuleListHead->Flink;
+         ModuleEntry != ModuleListHead;
+         ModuleEntry = ModuleEntry->Flink)
     {
-        /* Get pointer to the current DTE */
+        /* Get a pointer to the current DTE */
         DataTableEntry = CONTAINING_RECORD(ModuleEntry,
-            LDR_DATA_TABLE_ENTRY,
-            InLoadOrderLinks);
+                                           LDR_DATA_TABLE_ENTRY,
+                                           InLoadOrderLinks);
 
         TRACE("PeLdrCheckForLoadedDll: DTE %p, EP %p, Base %p, Name '%.*S'\n",
               DataTableEntry, DataTableEntry->EntryPoint, 
DataTableEntry->DllBase,
@@ -612,16 +613,13 @@ PeLdrCheckForLoadedDll(
         /* Compare names */
         if (PeLdrpCompareDllName(DllName, &DataTableEntry->BaseDllName))
         {
-            /* Yes, found it, report pointer to the loaded module's DTE
-               to the caller and increase load count for it */
+            /* Found it, return a pointer to the loaded module's
+             * DTE to the caller and increase its load count */
             *LoadedEntry = DataTableEntry;
             DataTableEntry->LoadCount++;
             TRACE("PeLdrCheckForLoadedDll: LoadedEntry 0x%p\n", 
DataTableEntry);
             return TRUE;
         }
-
-        /* Go to the next entry */
-        ModuleEntry = ModuleEntry->Flink;
     }
 
     /* Nothing found */

Reply via email to