mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
Fix possible uninitialized read on Windows
This commit is contained in:
@@ -320,6 +320,7 @@ static void initState(struct LexerState *state)
|
|||||||
# include <winbase.h>
|
# include <winbase.h>
|
||||||
# define MAP_FAILED NULL
|
# define MAP_FAILED NULL
|
||||||
# define mapFile(ptr, fd, path, size) do { \
|
# define mapFile(ptr, fd, path, size) do { \
|
||||||
|
(ptr) = MAP_FAILED; \
|
||||||
HANDLE file = CreateFileA(path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, \
|
HANDLE file = CreateFileA(path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, \
|
||||||
FILE_FLAG_POSIX_SEMANTICS | FILE_FLAG_RANDOM_ACCESS, NULL); \
|
FILE_FLAG_POSIX_SEMANTICS | FILE_FLAG_RANDOM_ACCESS, NULL); \
|
||||||
HANDLE mappingObj; \
|
HANDLE mappingObj; \
|
||||||
@@ -327,9 +328,8 @@ static void initState(struct LexerState *state)
|
|||||||
if (file == INVALID_HANDLE_VALUE) \
|
if (file == INVALID_HANDLE_VALUE) \
|
||||||
break; \
|
break; \
|
||||||
mappingObj = CreateFileMappingA(file, NULL, PAGE_READONLY, 0, 0, NULL); \
|
mappingObj = CreateFileMappingA(file, NULL, PAGE_READONLY, 0, 0, NULL); \
|
||||||
(ptr) = mappingObj == INVALID_HANDLE_VALUE \
|
if (mappingObj != INVALID_HANDLE_VALUE) \
|
||||||
? NULL \
|
(ptr) = MapViewOfFile(mappingObj, FILE_MAP_READ, 0, 0, 0); \
|
||||||
: MapViewOfFile(mappingObj, FILE_MAP_READ, 0, 0, 0); \
|
|
||||||
CloseHandle(mappingObj); \
|
CloseHandle(mappingObj); \
|
||||||
CloseHandle(file); \
|
CloseHandle(file); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|||||||
Reference in New Issue
Block a user