mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4: phar: Fix memory leak when opening temp file fails while trying to open gzip-compressed archive
This commit is contained in:
@@ -1682,6 +1682,12 @@ static zend_result phar_open_from_fp(php_stream* fp, char *fname, size_t fname_l
|
||||
if (!PHAR_G(has_zlib)) {
|
||||
MAPPHAR_ALLOC_FAIL("unable to decompress gzipped phar archive \"%s\" to temporary file, enable zlib extension in php.ini")
|
||||
}
|
||||
|
||||
/* entire file is gzip-compressed, uncompress to temporary file */
|
||||
if (!(temp = php_stream_fopen_tmpfile())) {
|
||||
MAPPHAR_ALLOC_FAIL("unable to create temporary file for decompression of gzipped phar archive \"%s\"")
|
||||
}
|
||||
|
||||
array_init(&filterparams);
|
||||
/* this is defined in zlib's zconf.h */
|
||||
#ifndef MAX_WBITS
|
||||
@@ -1689,11 +1695,6 @@ static zend_result phar_open_from_fp(php_stream* fp, char *fname, size_t fname_l
|
||||
#endif
|
||||
add_assoc_long_ex(&filterparams, "window", sizeof("window") - 1, MAX_WBITS + 32);
|
||||
|
||||
/* entire file is gzip-compressed, uncompress to temporary file */
|
||||
if (!(temp = php_stream_fopen_tmpfile())) {
|
||||
MAPPHAR_ALLOC_FAIL("unable to create temporary file for decompression of gzipped phar archive \"%s\"")
|
||||
}
|
||||
|
||||
php_stream_rewind(fp);
|
||||
filter = php_stream_filter_create("zlib.inflate", &filterparams, php_stream_is_persistent(fp));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user