From 550e2bcf3bc1626ccb950c6bc97f1348e94cca76 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Sun, 31 May 2015 08:06:39 +0200 Subject: Windows: fix buffer overrun issue when parsing language XML file --- src/Common/Language.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Common/Language.c b/src/Common/Language.c index e9d3a573..e5b7a314 100644 --- a/src/Common/Language.c +++ b/src/Common/Language.c @@ -87,7 +87,7 @@ static char *MapNextLanguageFile () if (find.nFileSizeHigh != 0) return NULL; if (LanguageFileBuffer != NULL) free (LanguageFileBuffer); - LanguageFileBuffer = malloc(find.nFileSizeLow); + LanguageFileBuffer = malloc(find.nFileSizeLow + 1); if (LanguageFileBuffer == NULL) return NULL; GetModuleFileNameW (NULL, f, sizeof (f) / sizeof(f[0])); @@ -116,6 +116,8 @@ static char *MapNextLanguageFile () return NULL; } + LanguageFileBuffer [find.nFileSizeLow] = 0; // we have allocated (find.nFileSizeLow + 1) bytes + return LanguageFileBuffer; } -- cgit v1.2.3