summaryrefslogtreecommitdiffstats
path: root/loader/win32.c
diff options
context:
space:
mode:
Diffstat (limited to 'loader/win32.c')
-rw-r--r--loader/win32.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/loader/win32.c b/loader/win32.c
index 547eb64494..e9038553d3 100644
--- a/loader/win32.c
+++ b/loader/win32.c
@@ -4859,6 +4859,9 @@ struct libs
#define FF(X,Y) \
{#X, Y, (void*)exp##X},
+#define UNDEFF(X, Y) \
+ {#X, Y, (void*)-1},
+
struct exports exp_kernel32[]=
{
FF(GetVolumeInformationA,-1)
@@ -5015,6 +5018,10 @@ struct exports exp_kernel32[]=
{"LoadLibraryExA", -1, (void*)&LoadLibraryExA},
FF(SetThreadIdealProcessor,-1)
FF(SetProcessAffinityMask, -1)
+ UNDEFF(FlsAlloc, -1)
+ UNDEFF(FlsGetValue, -1)
+ UNDEFF(FlsSetValue, -1)
+ UNDEFF(FlsFree, -1)
};
struct exports exp_msvcrt[]={
@@ -5426,6 +5433,8 @@ void* LookupExternalByName(const char* library, const char* name)
{
if(strcmp(name, libraries[i].exps[j].name))
continue;
+ if((unsigned int)(libraries[i].exps[j].func) == -1)
+ return NULL; //undefined func
// printf("Hit: 0x%08X\n", libraries[i].exps[j].func);
return libraries[i].exps[j].func;
}