Annotation of embedaddon/php/ext/phar/tests/tar/bignames_overflow.phpt, revision 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>