@@ -142,6 +142,11 @@ PDETOUR_SYM_INFO DetourLoadImageHlp(VOID)
142
142
PVOID WINAPI DetourFindFunction (_In_ LPCSTR pszModule,
143
143
_In_ LPCSTR pszFunction)
144
144
{
145
+ if (pszFunction == NULL ) {
146
+ SetLastError (ERROR_INVALID_PARAMETER);
147
+ return NULL ;
148
+ }
149
+
145
150
// ///////////////////////////////////////////// First, try GetProcAddress.
146
151
//
147
152
#pragma prefast(suppress:28752, "We don't do the unicode conversion for LoadLibraryExA.")
@@ -277,6 +282,7 @@ HMODULE WINAPI DetourEnumerateModules(_In_opt_ HMODULE hModuleLast)
277
282
continue ;
278
283
}
279
284
285
+ SetLastError (NO_ERROR);
280
286
return (HMODULE)pDosHeader;
281
287
}
282
288
#pragma prefast(suppress:28940, "A bad pointer means this probably isn't a PE header.")
@@ -456,6 +462,11 @@ BOOL WINAPI DetourEnumerateExports(_In_ HMODULE hModule,
456
462
_In_opt_ PVOID pContext,
457
463
_In_ PF_DETOUR_ENUMERATE_EXPORT_CALLBACK pfExport)
458
464
{
465
+ if (pfExport == NULL ) {
466
+ SetLastError (ERROR_INVALID_PARAMETER);
467
+ return FALSE ;
468
+ }
469
+
459
470
PIMAGE_DOS_HEADER pDosHeader = (PIMAGE_DOS_HEADER)hModule;
460
471
if (hModule == NULL ) {
461
472
pDosHeader = (PIMAGE_DOS_HEADER)GetModuleHandleW (NULL );
@@ -658,6 +669,11 @@ BOOL WINAPI DetourEnumerateImports(_In_opt_ HMODULE hModule,
658
669
_In_opt_ PF_DETOUR_IMPORT_FILE_CALLBACK pfImportFile,
659
670
_In_opt_ PF_DETOUR_IMPORT_FUNC_CALLBACK pfImportFunc)
660
671
{
672
+ if (pfImportFile == NULL || pfImportFunc == NULL ) {
673
+ SetLastError (ERROR_INVALID_PARAMETER);
674
+ return FALSE ;
675
+ }
676
+
661
677
_DETOUR_ENUMERATE_IMPORTS_THUNK_CONTEXT const context = { pContext, pfImportFunc };
662
678
663
679
return DetourEnumerateImportsEx (hModule,
0 commit comments