diff options
| author | Antony Dovgal <tony2001@php.net> | 2006-11-23 22:04:32 +0000 |
|---|---|---|
| committer | Antony Dovgal <tony2001@php.net> | 2006-11-23 22:04:32 +0000 |
| commit | 7d4abedf5a6611ecac44c0c4e29b4a0dc63cae3a (patch) | |
| tree | 4465090ffdf87f488e7ccc970ea4e77720c9e039 | |
| parent | a75c11138be65d7836dc4a9d07240891ece8a8df (diff) | |
| download | php-git-7d4abedf5a6611ecac44c0c4e29b4a0dc63cae3a.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 54328906c9..b1573c58e6 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -281,6 +281,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; + } } /* Convert one octal digit to a numeric value 0..7, or -1 on failure */ |
