summaryrefslogtreecommitdiff
path: root/Zend
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2000-08-14 20:16:27 +0000
committerZeev Suraski <zeev@php.net>2000-08-14 20:16:27 +0000
commit636d126e167f0c9ac0e00bad99bf708ce20a761c (patch)
treeaf12981ec1165fe710009b8a02bb9a66ff6fa4b0 /Zend
parent78dfa91e1fec4cd1610d1a3e83cedeb62fa74dea (diff)
downloadphp-git-636d126e167f0c9ac0e00bad99bf708ce20a761c.tar.gz
- Fix leak and some logic
Diffstat (limited to 'Zend')
-rw-r--r--Zend/zend_execute.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 521eb2935d..871a4394ef 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -1988,22 +1988,20 @@ send_by_ref:
if (!opened_path || zend_hash_add(&EG(included_files), opened_path, strlen(opened_path)+1, (void *)&dummy, sizeof(int), NULL)==SUCCESS) {
new_op_array = zend_compile_file(&file_handle CLS_CC);
zend_destroy_file_handle(&file_handle CLS_CC);
- if (!new_op_array) {
- fclose(file_handle.handle.fp);
- }
+ opened_path = NULL; /* zend_destroy_file_handle() already frees it */
} else {
fclose(file_handle.handle.fp);
}
} else {
- if (opline->opcode==ZEND_INCLUDE_ONCE) {
+ if (opline->op2.u.constant.value.lval==ZEND_INCLUDE_ONCE) {
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle.filename);
} else {
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle.filename);
}
}
- /* if (opened_path) {
- free (opened_path);
- } */
+ if (opened_path) {
+ free(opened_path);
+ }
break;
}
break;