summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Ramadan <plebbyastian@gmail.com>2017-11-15 13:24:28 +1100
committerkrakjoe <krakjoe@php.net>2017-11-22 04:49:04 +0000
commit7e0feb88562c2488240664e1f6ab42f42dae3cb6 (patch)
tree69e39acb69e2162b93cd4bd631d313f95e81fd56
parent269d1601596341f574ff6c875a826ce2b671f1f0 (diff)
downloadphp-git-7e0feb88562c2488240664e1f6ab42f42dae3cb6.tar.gz
Check for binary_location allocation failure
-rw-r--r--main/main.c8
1 files 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;