diff options
| author | Zeev Suraski <zeev@php.net> | 2000-07-29 10:44:13 +0000 |
|---|---|---|
| committer | Zeev Suraski <zeev@php.net> | 2000-07-29 10:44:13 +0000 |
| commit | 735a0d148ea2a0154b000895bcdf97ddd5a4b8ef (patch) | |
| tree | 883d320fc0346f1189ba7f4185fbb5e4faee477d /Zend/zend_execute.c | |
| parent | 3d1b363967845f08963c8a1ff8fbc9e538f83914 (diff) | |
| download | php-git-735a0d148ea2a0154b000895bcdf97ddd5a4b8ef.tar.gz | |
Fix filename issues
Diffstat (limited to 'Zend/zend_execute.c')
| -rw-r--r-- | Zend/zend_execute.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index d15cedb12d..4706bcc181 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -2039,9 +2039,13 @@ send_by_ref: file_handle.handle.fp = zend_fopen(inc_filename->value.str.val, &opened_path); file_handle.type = ZEND_HANDLE_FP; - file_handle.filename = inc_filename->value.str.val; - file_handle.opened_path = opened_path; - file_handle.free_filename = 0; + if (opened_path) { + file_handle.filename = estrdup(opened_path); + file_handle.free_filename = 1; + } else { + file_handle.filename = inc_filename->value.str.val; + file_handle.free_filename = 0; + } if (file_handle.handle.fp) { if (!opened_path || zend_hash_add(&EG(included_files), opened_path, strlen(opened_path)+1, (void *)&dummy, sizeof(int), NULL)==SUCCESS) { @@ -2054,12 +2058,12 @@ send_by_ref: } else { fclose(file_handle.handle.fp); } - if (opened_path) { - free(opened_path); - } } else { zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle.filename); } + if (opened_path) { + free (opened_path); + } break; } break; |
