summaryrefslogtreecommitdiff
path: root/ext/phar/tests
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-04-22 14:11:13 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2020-04-22 15:07:46 +0200
commitccca2c448df35ac457eeef11fb7f0d604de3e5f9 (patch)
treeacdf2b12493c9522705d417426a975f0ecc9a17e /ext/phar/tests
parentfa10abd6d75aeb9fde1f53cf80116e39577a4555 (diff)
downloadphp-git-ccca2c448df35ac457eeef11fb7f0d604de3e5f9.tar.gz
Fix #79503: Memory leak on duplicate metadata
Duplicate metadata can only happen if someone tampers with the phar, so we can and should treat that as error.
Diffstat (limited to 'ext/phar/tests')
-rw-r--r--ext/phar/tests/bug79503.pharbin0 -> 4001 bytes
-rw-r--r--ext/phar/tests/bug79503.phpt16
2 files changed, 16 insertions, 0 deletions
diff --git a/ext/phar/tests/bug79503.phar b/ext/phar/tests/bug79503.phar
new file mode 100644
index 0000000000..d378c6f3df
--- /dev/null
+++ b/ext/phar/tests/bug79503.phar
Binary files differ
diff --git a/ext/phar/tests/bug79503.phpt b/ext/phar/tests/bug79503.phpt
new file mode 100644
index 0000000000..874330fac7
--- /dev/null
+++ b/ext/phar/tests/bug79503.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Bug #79503 (Memory leak on duplicate metadata)
+--SKIPIF--
+<?php
+if (!extension_loaded('phar')) die('skip phar extension not available');
+?>
+--FILE--
+<?php
+try {
+ new Phar(__DIR__ . '/bug79503.phar');
+} catch (UnexpectedValueException $ex) {
+ echo $ex->getMessage();
+}
+?>
+--EXPECTF--
+phar error: tar-based phar "%s%ebug79503.phar" has invalid metadata in magic file ".phar/.metadata.bin"