com php-src: Merge branch 'PHP-5.6' into PHP-7.0: ext/phar/dirstream.c ext/phar/util.c
| From: | Stanislav Malyshev | Date: | Tue, 29 Sep 2015 03:45:02 +0000 |
| Subject: | com php-src: Merge branch 'PHP-5.6' into PHP-7.0: ext/phar/dirstream.c ext/phar/util.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-89193@lists.php.net to get a copy of this message | ||
Commit: 4c6f4863fad2a5a92cd367fb91a42afc36736ed3
Author: Stanislav Malyshev <stas@php.net> Mon, 28 Sep 2015 20:45:02 -0700
Parents: e7574a5329f8392726b1cbb85041ad86a18d6763 51b23cd0f0b35e4748fac9ca19fb7825cf382ffd
Branches: PHP-7.0 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=4c6f4863fad2a5a92cd367fb91a42afc36736ed3
Log:
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
fix memory leak
FIx bug #70433 - Uninitialized pointer in phar_make_dirstream when zip entry filename is
"/"
Conflicts:
ext/phar/dirstream.c
Bugs:
https://bugs.php.net/70433
Changed paths:
MM ext/phar/dirstream.c
MM ext/phar/util.c
Diff:
diff --cc ext/phar/dirstream.c
index 6cb78ad,e6926ce..1275c98
--- a/ext/phar/dirstream.c
+++ b/ext/phar/dirstream.c
@@@ -199,7 -198,7 +199,7 @@@ static php_stream *phar_make_dirstream(
zend_hash_internal_pointer_reset(manifest);
while (FAILURE != zend_hash_has_more_elements(manifest)) {
- if (HASH_KEY_NON_EXISTENT == zend_hash_get_current_key(manifest, &str_key, &unused)) {
- if (HASH_KEY_IS_STRING != zend_hash_get_current_key_ex(manifest, &str_key, &keylen,
&unused, 0, NULL)) {
++ if (HASH_KEY_IS_STRING != zend_hash_get_current_key(manifest, &str_key, &unused)) {
break;
}
diff --cc ext/phar/util.c
index 54a9286,461cbf9..f2f422e
--- a/ext/phar/util.c
+++ b/ext/phar/util.c
@@@ -491,15 -492,16 +491,16 @@@ really_get_entry
(*ret)->internal_file = entry;
(*ret)->is_zip = entry->is_zip;
(*ret)->is_tar = entry->is_tar;
- (*ret)->fp = phar_get_efp(entry, 1 TSRMLS_CC);
+ (*ret)->fp = phar_get_efp(entry, 1);
if (entry->link) {
- phar_entry_info *link = phar_get_link_source(entry TSRMLS_CC);
+ phar_entry_info *link = phar_get_link_source(entry);
if(!link) {
+ efree(*ret);
return FAILURE;
}
- (*ret)->zero = phar_get_fp_offset(link TSRMLS_CC);
+ (*ret)->zero = phar_get_fp_offset(link);
} else {
- (*ret)->zero = phar_get_fp_offset(entry TSRMLS_CC);
+ (*ret)->zero = phar_get_fp_offset(entry);
}
if (!phar->is_persistent) {