From 7e0feb88562c2488240664e1f6ab42f42dae3cb6 Mon Sep 17 00:00:00 2001 From: Sebastian Ramadan Date: Wed, 15 Nov 2017 13:24:28 +1100 Subject: Check for binary_location allocation failure --- main/main.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/main/main.c b/main/main.c index ce33cfb983..93ac6cabdd 100644 --- a/main/main.c +++ b/main/main.c @@ -259,17 +259,17 @@ static void php_disable_classes(void) */ static void php_binary_init(void) { - char *binary_location; + char *binary_location = NULL; #ifdef PHP_WIN32 binary_location = (char *)malloc(MAXPATHLEN); - if (GetModuleFileName(0, binary_location, MAXPATHLEN) == 0) { + if (binary_location && GetModuleFileName(0, binary_location, MAXPATHLEN) == 0) { free(binary_location); PG(php_binary) = NULL; } #else if (sapi_module.executable_location) { binary_location = (char *)malloc(MAXPATHLEN); - if (!strchr(sapi_module.executable_location, '/')) { + if (binary_location && !strchr(sapi_module.executable_location, '/')) { char *envpath, *path; int found = 0; @@ -299,8 +299,6 @@ static void php_binary_init(void) free(binary_location); binary_location = NULL; } - } else { - binary_location = NULL; } #endif PG(php_binary) = binary_location; -- cgit v1.2.1