Annotation of embedaddon/php/ext/phar/tests/tar/bignames_overflow.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Phar: tar with huge filenames, buffer overflow
3: --SKIPIF--
4: <?php if (!extension_loaded("phar")) die("skip"); ?>
5: --INI--
6: phar.require_hash=0
7: --FILE--
8: <?php
9: $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.tar';
10: $fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.2.tar';
11: $pname = 'phar://' . $fname;
12:
13: include dirname(__FILE__) . '/files/make.dangerous.tar.php.inc';
14:
15: $tar = new danger_tarmaker($fname, 'none');
16: $tar->init();
17: $tar->addFile(str_repeat('a', 101), 'hi');
18: $tar->addFile(str_repeat('a', 255), 'hi2');
19: $tar->close();
20:
21: $p1 = new PharData($fname);
22: foreach ($p1 as $file) {
23: echo $file->getFileName(), "\n";
24: }
25: echo $p1['a/' . str_repeat('a', 100)]->getContent() . "\n";
26: echo $p1[str_repeat('a', 155) . '/' . str_repeat('a', 100)]->getContent() . "\n";
27:
28: ?>
29: ===DONE===
30: --CLEAN--
31: <?php
32: unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.tar');
33: unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.2.tar');
34: ?>
35: --EXPECT--
36: a
37: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
38: hi
39: hi2
40: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>