mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Avoid fd leak which appears when using ZEND_HANDLE_FILENAME
This commit is contained in:
parent
b53bc48847
commit
6d97609a31
1 changed files with 10 additions and 2 deletions
|
@ -383,20 +383,28 @@ static int
|
|||
php_ns_module_main(NSLS_D SLS_DC)
|
||||
{
|
||||
zend_file_handle file_handle;
|
||||
int fd;
|
||||
CLS_FETCH();
|
||||
ELS_FETCH();
|
||||
PLS_FETCH();
|
||||
|
||||
file_handle.type = ZEND_HANDLE_FILENAME;
|
||||
file_handle.type = ZEND_HANDLE_FD;
|
||||
file_handle.filename = SG(request_info).path_translated;
|
||||
file_handle.handle.fd = fd = open(SG(request_info).path_translated, O_RDONLY);
|
||||
if (fd == -1) {
|
||||
return NS_ERROR;
|
||||
}
|
||||
|
||||
if (php_request_startup(CLS_C ELS_CC PLS_CC SLS_CC) == FAILURE) {
|
||||
close(fd);
|
||||
return NS_ERROR;
|
||||
}
|
||||
php_ns_hash_environment(NSLS_C CLS_CC ELS_CC PLS_CC SLS_CC);
|
||||
php_execute_script(&file_handle CLS_CC ELS_CC PLS_CC);
|
||||
php_request_shutdown(NULL);
|
||||
|
||||
close(fd);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue