From: Sebastian Ramadan Date: Wed, 15 Nov 2017 02:24:28 +0000 (+1100) Subject: Check for binary_location allocation failure X-Git-Tag: php-7.0.27RC1~10 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7e0feb88562c2488240664e1f6ab42f42dae3cb6;p=php Check for binary_location allocation failure --- 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;