summaryrefslogtreecommitdiff
path: root/ext/zip/tests/pecl12414.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/zip/tests/pecl12414.phpt')
-rw-r--r--ext/zip/tests/pecl12414.phpt38
1 files changed, 38 insertions, 0 deletions
diff --git a/ext/zip/tests/pecl12414.phpt b/ext/zip/tests/pecl12414.phpt
new file mode 100644
index 0000000..6154638
--- /dev/null
+++ b/ext/zip/tests/pecl12414.phpt
@@ -0,0 +1,38 @@
+--TEST--
+Bug #12414 ( extracting files from damaged archives)
+--SKIPIF--
+<?php
+/*$ */
+if(!extension_loaded('zip')) die('skip');
+ ?>
+--FILE--
+<?php
+$filename = 'MYLOGOV2.GFX';
+$zipname = dirname(__FILE__) . "/pecl12414.zip";
+$za = new ZipArchive();
+$res =$za->open($zipname);
+if ($res === TRUE) {
+ $finfo=$za->statName($filename);
+ $file_size=$finfo['size'];
+
+ if($file_size>0) {
+ $contents=$za->getFromName($filename);
+
+ echo "ZIP contents size: " . strlen($contents) . "\n";
+ if(strlen($contents)!=$file_size) {
+ echo "zip_readfile recorded data does not match unpacked size: " . $zipname . " : " . $filename;
+ }
+ } else {
+ $contents=false;
+ echo "zip_readfile could not open stream from zero length file " . $zipname . " : " .$filename;
+ }
+
+ $za->close();
+} else {
+ echo "zip_readfile could not read from " . $zipname . " : " . $filename;
+}
+
+?>
+--DONE--
+--EXPECTF--
+zip_readfile could not read from %specl12414.zip : MYLOGOV2.GFX