1--TEST-- 2Phar: tar-based phar corrupted 2 3--SKIPIF-- 4<?php if (!extension_loaded('phar')) die('skip'); ?> 5--INI-- 6phar.readonly=0 7--FILE-- 8<?php 9include __DIR__ . '/files/make_invalid_tar.php.inc'; 10 11$tar = new corrupter(__DIR__ . '/tar_002.phar.tar', 'none'); 12$tar->init(); 13$tar->addFile('tar_002.phpt', __FILE__); 14$tar->close(); 15 16$tar = fopen('phar://' . __DIR__ . '/tar_002.phar.tar/tar_002.phpt', 'rb'); 17 18try { 19 $phar = new Phar(__DIR__ . '/tar_002.phar.tar'); 20 echo "should not execute\n"; 21} catch (Exception $e) { 22 echo $e->getMessage() . "\n"; 23} 24?> 25--CLEAN-- 26<?php 27@unlink(__DIR__ . '/tar_002.phar.tar'); 28?> 29--EXPECTF-- 30Warning: fopen(phar://%star_002.phar.tar/tar_002.phpt): Failed to open stream: phar error: "%star_002.phar.tar" is a corrupted tar file (truncated) in %star_002.php on line 9 31phar error: "%star_002.phar.tar" is a corrupted tar file (truncated) 32