summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntony Dovgal <tony2001@php.net>2006-11-23 22:04:54 +0000
committerAntony Dovgal <tony2001@php.net>2006-11-23 22:04:54 +0000
commit090215cc7f5c120ab00fec942331943402d95eb6 (patch)
tree42b3727f9eaac75f80c5c978b06dbd70afa8a8f7
parent94a810755fc7cad8e1b61b2c0692279a2228414a (diff)
downloadphp-git-090215cc7f5c120ab00fec942331943402d95eb6.tar.gz
nullify opened_path and filename (when required)
fixes invalid reads with `php-cli -F <script>`
-rw-r--r--Zend/zend_language_scanner.l5
1 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index 32cc2f2ee8..2be628fdcc 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -286,6 +286,11 @@ int zend_compare_file_handles(zend_file_handle *fh1, zend_file_handle *fh2)
ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC)
{
zend_llist_del_element(&CG(open_files), file_handle, (int (*)(void *, void *)) zend_compare_file_handles);
+ /* zend_file_handle_dtor() operates on the copy, so we have to NULLify the original here */
+ file_handle->opened_path = NULL;
+ if (file_handle->free_filename) {
+ file_handle->filename = NULL;
+ }
}