Author: rharabien
Date: Mon Mar 21 14:16:01 2011
New Revision: 51104

URL: http://svn.reactos.org/svn/reactos?rev=51104&view=rev
Log:
Set last error to ERROR_PROC_NOT_FOUND in case of NULL module in GetProcAddress
Check for error when freeing datafile
Fixes 2 winetests

Modified:
    trunk/reactos/dll/win32/kernel32/misc/ldr.c

Modified: trunk/reactos/dll/win32/kernel32/misc/ldr.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/misc/ldr.c?rev=51104&r1=51103&r2=51104&view=diff
==============================================================================
--- trunk/reactos/dll/win32/kernel32/misc/ldr.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/misc/ldr.c [iso-8859-1] Mon Mar 21 
14:16:01 2011
@@ -310,6 +310,12 @@
        FARPROC fnExp = NULL;
        NTSTATUS Status;
 
+       if (!hModule)
+       {
+               SetLastError(ERROR_PROC_NOT_FOUND);
+               return NULL;
+       }
+
        if (HIWORD(lpProcName) != 0)
        {
                RtlInitAnsiString (&ProcedureName,
@@ -354,8 +360,7 @@
     {
         /* this is a LOAD_LIBRARY_AS_DATAFILE module */
         char *ptr = (char *)hLibModule - 1;
-        UnmapViewOfFile(ptr);
-        return TRUE;
+        return UnmapViewOfFile(ptr);
     }
 
     Status = LdrUnloadDll(hLibModule);


Reply via email to