Skip to content

Commit 7355ab8

Browse files
cmb69smalyshev
authored andcommitted
Fix #79797: Use of freed hash key in the phar_parse_zipfile function
We must not use heap memory after we freed it.
1 parent c68d48d commit 7355ab8

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

ext/phar/tests/bug79797.phar

274 Bytes
Binary file not shown.

ext/phar/tests/bug79797.phpt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
Bug #79797 (Use of freed hash key in the phar_parse_zipfile function)
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('phar')) die('skip phar extension not available');
6+
?>
7+
--INI--
8+
phar.cache_list={PWD}/bug79797.phar
9+
--FILE--
10+
<?php
11+
echo "done\n";
12+
?>
13+
--EXPECT--
14+
done

ext/phar/zip.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,7 @@ int phar_parse_zipfile(php_stream *fp, char *fname, int fname_len, char *alias,
703703
efree(actual_alias);
704704
}
705705

706-
zend_hash_str_add_ptr(&(PHAR_G(phar_alias_map)), actual_alias, mydata->alias_len, mydata);
706+
zend_hash_str_add_ptr(&(PHAR_G(phar_alias_map)), mydata->alias, mydata->alias_len, mydata);
707707
} else {
708708
phar_archive_data *fd_ptr;
709709

0 commit comments

Comments
 (0)