From 7f3b0be4999b5d0254409852f1f8eb3ad79146b0 Mon Sep 17 00:00:00 2001 From: ISSOtm Date: Mon, 31 Aug 2020 14:47:55 +0200 Subject: [PATCH] Fix possible uninitialized read on Windows --- src/asm/lexer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/asm/lexer.c b/src/asm/lexer.c index 0263d61d12..39debc31f4 100644 --- a/src/asm/lexer.c +++ b/src/asm/lexer.c @@ -320,6 +320,7 @@ static void initState(struct LexerState *state) # include # define MAP_FAILED NULL # define mapFile(ptr, fd, path, size) do { \ + (ptr) = MAP_FAILED; \ HANDLE file = CreateFileA(path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, \ FILE_FLAG_POSIX_SEMANTICS | FILE_FLAG_RANDOM_ACCESS, NULL); \ HANDLE mappingObj; \ @@ -327,9 +328,8 @@ static void initState(struct LexerState *state) if (file == INVALID_HANDLE_VALUE) \ break; \ mappingObj = CreateFileMappingA(file, NULL, PAGE_READONLY, 0, 0, NULL); \ - (ptr) = mappingObj == INVALID_HANDLE_VALUE \ - ? NULL \ - : MapViewOfFile(mappingObj, FILE_MAP_READ, 0, 0, 0); \ + if (mappingObj != INVALID_HANDLE_VALUE) \ + (ptr) = MapViewOfFile(mappingObj, FILE_MAP_READ, 0, 0, 0); \ CloseHandle(mappingObj); \ CloseHandle(file); \ } while (0)