diff options
Diffstat (limited to 'main/main.c')
| -rw-r--r-- | main/main.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/main/main.c b/main/main.c index bd18864bbe..5c4a5c6f73 100644 --- a/main/main.c +++ b/main/main.c @@ -1565,7 +1565,7 @@ PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC) zend_file_handle *prepend_file_p, *append_file_p; zend_file_handle prepend_file, append_file; #if HAVE_BROKEN_GETCWD - int old_cwd_fd; + int old_cwd_fd = -1; #else char *old_cwd; #endif @@ -1649,8 +1649,10 @@ PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC) } zend_end_try(); #if HAVE_BROKEN_GETCWD - fchdir(old_cwd_fd); - close(old_cwd_fd); + if (old_cwd_fd != -1) { + fchdir(old_cwd_fd); + close(old_cwd_fd); + } #else if (old_cwd[0] != '\0') { VCWD_CHDIR(old_cwd); |
