pcntl_exec() should inherit environment in case it's not provided as an argument

This commit is contained in:
Dmitry Stogov 2009-09-30 13:04:28 +00:00
parent a4cbecd20c
commit 7a535b807c

View File

@ -727,16 +727,19 @@ PHP_FUNCTION(pcntl_exec)
if (return_val == HASH_KEY_IS_LONG) efree(key);
}
*(pair) = NULL;
}
if (execve(path, argv, envp) == -1) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Error has occured: (errno %d) %s", errno, strerror(errno));
}
if (execve(path, argv, envp) == -1) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Error has occured: (errno %d) %s", errno, strerror(errno));
}
/* Cleanup */
if (envp != NULL) {
/* Cleanup */
for (pair = envp; *pair != NULL; pair++) efree(*pair);
efree(envp);
} else {
if (execv(path, argv) == -1) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Error has occured: (errno %d) %s", errno, strerror(errno));
}
}
efree(argv);