Return ERROR_RESOURCE_DATA_NOT_FOUND if open_resource_stream fails

This commit is contained in:
Luke Street 2025-09-26 01:16:52 -06:00
parent 836f485d66
commit 720e6639a9
2 changed files with 6 additions and 1 deletions

View File

@ -60,6 +60,7 @@ typedef unsigned char BYTE;
#define ERROR_INVALID_PARAMETER 87 #define ERROR_INVALID_PARAMETER 87
#define ERROR_BUFFER_OVERFLOW 111 #define ERROR_BUFFER_OVERFLOW 111
#define ERROR_INSUFFICIENT_BUFFER 122 #define ERROR_INSUFFICIENT_BUFFER 122
#define ERROR_RESOURCE_DATA_NOT_FOUND 1812
#define ERROR_MOD_NOT_FOUND 126 #define ERROR_MOD_NOT_FOUND 126
#define ERROR_NEGATIVE_SEEK 131 #define ERROR_NEGATIVE_SEEK 131
#define ERROR_BAD_EXE_FORMAT 193 #define ERROR_BAD_EXE_FORMAT 193

View File

@ -1711,7 +1711,11 @@ namespace kernel32 {
const std::string name = resource_identifier_to_string(lpName); const std::string name = resource_identifier_to_string(lpName);
const std::string type = resource_identifier_to_string(lpType); const std::string type = resource_identifier_to_string(lpType);
return open_resource_stream(type, name); FILE *res = open_resource_stream(type, name);
if (!res) {
wibo::lastError = ERROR_RESOURCE_DATA_NOT_FOUND;
}
return res;
} }
// https://github.com/reactos/reactos/blob/master/dll/win32/kernelbase/wine/loader.c#L1090 // https://github.com/reactos/reactos/blob/master/dll/win32/kernelbase/wine/loader.c#L1090