diff --git a/reactos/dll/ntdll/def/ntdll.def b/reactos/dll/ntdll/def/ntdll.def index bbb4dbd703c..4e54efdad44 100644 --- a/reactos/dll/ntdll/def/ntdll.def +++ b/reactos/dll/ntdll/def/ntdll.def @@ -38,7 +38,7 @@ KiUserApcDispatcher@16 KiUserCallbackDispatcher@12 KiUserExceptionDispatcher@8 KiIntSystemCall@0 -KeFastSystemCallRet@0 ; big hack since LdrGetProcedureAddress is broken +KiFastSystemCallRet@0 KiFastSystemCall@0 LdrAccessResource@16 LdrAddRefDll@8 diff --git a/reactos/dll/ntdll/main/i386/dispatch.S b/reactos/dll/ntdll/main/i386/dispatch.S index 552ee7d0a4b..f6daf51e3e5 100644 --- a/reactos/dll/ntdll/main/i386/dispatch.S +++ b/reactos/dll/ntdll/main/i386/dispatch.S @@ -257,9 +257,9 @@ _KiFastSystemCall@0: sysenter .endfunc -.func KeFastSystemCallRet@0 -.globl _KeFastSystemCallRet@0 -_KeFastSystemCallRet@0: +.func KiFastSystemCallRet@0 +.globl _KiFastSystemCallRet@0 +_KiFastSystemCallRet@0: /* Just return to caller */ ret diff --git a/reactos/ntoskrnl/ldr/rtl.c b/reactos/ntoskrnl/ldr/rtl.c index 0212889ff8c..8e8ff37d5db 100644 --- a/reactos/ntoskrnl/ldr/rtl.c +++ b/reactos/ntoskrnl/ldr/rtl.c @@ -69,22 +69,15 @@ LdrGetProcedureAddress (IN PVOID BaseAddress, { mid = (minn + maxn) / 2; CurrentNamePtr = (PCHAR)RVA(BaseAddress, NamePtr[mid]); - res = strncmp(CurrentNamePtr, Name->Buffer, Name->Length); + res = strcmp(CurrentNamePtr, Name->Buffer); if (res == 0) { /* * Check if the beginning of the name matched, but it's still * not the whole name. */ - if (CurrentNamePtr[Name->Length] != 0) - { - res = -1; - } - else - { - *ProcedureAddress = (PVOID)RVA(BaseAddress, AddressPtr[OrdinalPtr[mid]]); - return STATUS_SUCCESS; - } + *ProcedureAddress = (PVOID)RVA(BaseAddress, AddressPtr[OrdinalPtr[mid]]); + return STATUS_SUCCESS; } if (res > 0) maxn = mid - 1; diff --git a/reactos/ntoskrnl/ps/psmgr.c b/reactos/ntoskrnl/ps/psmgr.c index 7ec0e4f5a6f..1877930314f 100644 --- a/reactos/ntoskrnl/ps/psmgr.c +++ b/reactos/ntoskrnl/ps/psmgr.c @@ -42,7 +42,7 @@ ANSI_STRING ExceptName = RTL_CONSTANT_STRING("KiUserExceptionDispatcher"); ANSI_STRING CallbackName = RTL_CONSTANT_STRING("KiUserCallbackDispatcher"); ANSI_STRING RaiseName = RTL_CONSTANT_STRING("KiRaiseUserExceptionDispatcher"); ANSI_STRING FastName = RTL_CONSTANT_STRING("KiFastSystemCall"); -ANSI_STRING FastReturnName = RTL_CONSTANT_STRING("KeFastSystemCallRet"); +ANSI_STRING FastReturnName = RTL_CONSTANT_STRING("KiFastSystemCallRet"); ANSI_STRING InterruptName = RTL_CONSTANT_STRING("KiIntSystemCall"); PHANDLE_TABLE PspCidTable;