cvs: php4 /main main.c
| From: | Ilia Alshanetsky | Date: | Wed, 16 Oct 2002 16:52:09 +0000 |
| Subject: | cvs: php4 /main main.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-14966@lists.php.net to get a copy of this message | ||
iliaa Wed Oct 16 12:52:09 2002 EDT
Modified files:
/php4/main main.c
Log:
Fixed bug #19921. (memory leak introduced by me in rev 1.492)
Index: php4/main/main.c
diff -u php4/main/main.c:1.497 php4/main/main.c:1.498
--- php4/main/main.c:1.497 Fri Oct 4 15:20:13 2002
+++ php4/main/main.c Wed Oct 16 12:52:08 2002
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: main.c,v 1.497 2002/10/04 19:20:13 sas Exp $ */
+/* $Id: main.c,v 1.498 2002/10/16 16:52:08 iliaa Exp $ */
/* {{{ includes
*/
@@ -1479,6 +1479,7 @@
zend_file_handle *prepend_file_p, *append_file_p;
zend_file_handle prepend_file, append_file;
char *old_cwd;
+ char *old_primary_file_path = NULL;
int retval = 0;
EG(exit_status) = 0;
@@ -1509,10 +1510,9 @@
if (VCWD_REALPATH(primary_file->filename, realfile)) {
realfile_len = strlen(realfile);
zend_hash_add(&EG(included_files), realfile, realfile_len+1, (void *)&dummy,
sizeof(int), NULL);
- if (primary_file->opened_path == NULL && strncmp(realfile,
primary_file->filename, realfile_len)) {
- primary_file->opened_path = emalloc(realfile_len+1);
- memcpy(primary_file->opened_path, realfile, realfile_len);
- primary_file->opened_path[realfile_len] = '\0';
+ if (strncmp(realfile, primary_file->filename, realfile_len)) {
+ old_primary_file_path = primary_file->filename;
+ primary_file->filename = realfile;
}
}
}
@@ -1540,6 +1540,11 @@
php_mbstring_set_zend_encoding(TSRMLS_C);
#endif /* ZEND_MULTIBYTE && HAVE_MBSTRING */
retval = (zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL, 3, prepend_file_p, primary_file,
append_file_p) == SUCCESS);
+
+ if (old_primary_file_path) {
+ primary_file->filename = old_primary_file_path;
+ }
+
} zend_end_try();
if (old_cwd[0] != '\0') {