mirror of
https://github.com/php/php-src.git
synced 2026-03-26 17:22:15 +01:00
Fixed #65225: PHP_BINARY incorrectly set
This commit is contained in:
committed by
Stanislav Malyshev
parent
a3fa25e857
commit
98d29d20a1
@@ -115,6 +115,10 @@
|
||||
#endif
|
||||
/* }}} */
|
||||
|
||||
#ifndef S_ISREG
|
||||
#define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG)
|
||||
#endif
|
||||
|
||||
PHPAPI int (*php_register_internal_extensions_func)(TSRMLS_D) = php_register_internal_extensions;
|
||||
|
||||
#ifndef ZTS
|
||||
@@ -276,13 +280,14 @@ static void php_binary_init(TSRMLS_D)
|
||||
if ((envpath = getenv("PATH")) != NULL) {
|
||||
char *search_dir, search_path[MAXPATHLEN];
|
||||
char *last = NULL;
|
||||
struct stat s;
|
||||
|
||||
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)) {
|
||||
if (VCWD_REALPATH(search_path, binary_location) && !VCWD_ACCESS(binary_location, X_OK) && VCWD_STAT(binary_location, &s) == 0 && S_ISREG(s.st_mode)) {
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user