diff options
| author | Antony Dovgal <tony2001@php.net> | 2006-11-23 22:04:54 +0000 |
|---|---|---|
| committer | Antony Dovgal <tony2001@php.net> | 2006-11-23 22:04:54 +0000 |
| commit | 090215cc7f5c120ab00fec942331943402d95eb6 (patch) | |
| tree | 42b3727f9eaac75f80c5c978b06dbd70afa8a8f7 | |
| parent | 94a810755fc7cad8e1b61b2c0692279a2228414a (diff) | |
| download | php-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.l | 5 |
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; + } } |
