From: Antony Dovgal Date: Mon, 14 May 2007 12:19:25 +0000 (+0000) Subject: use estrdup() and plug the leak X-Git-Tag: RELEASE_1_2_0~69 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f6a01b2acea2279931c6921c7f5f68fd7b297cba;p=php use estrdup() and plug the leak --- diff --git a/main/php_ini.c b/main/php_ini.c index 3b8e58d8c6..06be3eb90e 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -358,11 +358,10 @@ int php_init_config(TSRMLS_D) if ((envpath = getenv("PATH")) != NULL) { char *search_dir, search_path[MAXPATHLEN]; char *last; - int pathlen = strlen(envpath) + 1; - path = malloc(pathlen); - memcpy(path, envpath, pathlen); + path = estrdup(envpath); search_dir = php_strtok_r(path, ":", &last); + while (search_dir) { snprintf(search_path, MAXPATHLEN, "%s/%s", search_dir, sapi_module.executable_location); if (VCWD_REALPATH(search_path, binary_location) && !VCWD_ACCESS(binary_location, X_OK)) { @@ -371,6 +370,7 @@ int php_init_config(TSRMLS_D) } search_dir = php_strtok_r(NULL, ":", &last); } + efree(path); } if (!found) { efree(binary_location);