From: Stanislav Malyshev Date: Tue, 29 Sep 2015 03:45:02 +0000 (-0700) Subject: Merge branch 'PHP-5.6' into PHP-7.0 X-Git-Tag: php-7.1.0alpha1~1079^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4c6f4863fad2a5a92cd367fb91a42afc36736ed3;p=php 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 --- 4c6f4863fad2a5a92cd367fb91a42afc36736ed3 diff --cc ext/phar/dirstream.c index 6cb78ad692,e6926ce154..1275c98d66 --- 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 54a928618b,461cbf91f1..f2f422ef62 --- 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) {