php_stream_close(fp);
return FAILURE;
}
+ php_stream_close(fp);
}
- php_stream_close(fp);
if (PHAR_G(readonly)) {
if (options & REPORT_ERRORS) {
return FAILURE;
}
- fp = php_stream_open_wrapper(fname, "rb", IGNORE_URL|STREAM_MUST_SEEK|REPORT_ERRORS, NULL);
+ fp = php_stream_open_wrapper(fname, "rb", IGNORE_URL|STREAM_MUST_SEEK, NULL);
if (!fp) {
if (options & REPORT_ERRORS) {
--SKIPIF--
<?php if (!extension_loaded('phar')) die('skip'); ?>
<?php if (!extension_loaded("spl")) die("skip SPL not available"); ?>
---INI--
-phar.readonly=0
-phar.require_hash=0
--FILE--
<?php
include dirname(__FILE__) . '/make_invalid_tar.php.inc';
$a->addFile('tar_001.phpt', __FILE__);
$a->close();
-$a = fopen('phar://tar_001.phar/tar_001.phpt', 'rb');
+$a = fopen('phar://' . dirname(__FILE__) . '/tar_001.phar/tar_001.phpt', 'rb');
try {
-$a = new Phar('tar_001.phar');
+$a = new Phar(dirname(__FILE__) . '/tar_001.phar');
echo "should not execute\n";
} catch (Exception $e) {
echo $e->getMessage() . "\n";
@unlink(dirname(__FILE__) . '/tar_001.phar');
?>
--EXPECTF--
-Warning: fopen(phar://tar_001.phar/tar_001.phpt): failed to open stream: phar error: "tar_001.phar" is a corrupted tar file in %s/tar_001.php on line %d
-Cannot open phar file 'tar_001.phar' with alias '(null)': phar error: "tar_001.phar" is a corrupted tar file
+Warning: fopen(phar://%s/tar_001.phar/tar_001.phpt): failed to open stream: phar error: "%s/tar_001.phar" is a corrupted tar file in %s/tar_001.php on line %d
+Cannot open phar file '%s/tar_001.phar' with alias '(null)': phar error: "%s/tar_001.phar" is a corrupted tar file
===DONE===
\ No newline at end of file
--- /dev/null
+--TEST--
+Phar: tar-based phar corrupted 2
+--SKIPIF--
+<?php if (!extension_loaded('phar')) die('skip'); ?>
+<?php if (!extension_loaded("spl")) die("skip SPL not available"); ?>
+--INI--
+phar.readonly=0
+--FILE--
+<?php
+include dirname(__FILE__) . '/make_invalid_tar.php.inc';
+$a = new corrupter(dirname(__FILE__) . '/tar_002.phar', 'none');
+$a->init();
+$a->addFile('tar_002.phpt', __FILE__);
+$a->close();
+
+$a = fopen('phar://' . dirname(__FILE__) . '/tar_002.phar/tar_002.phpt', 'rb');
+try {
+$a = new Phar(dirname(__FILE__) . '/tar_002.phar');
+echo "should not execute\n";
+} catch (Exception $e) {
+echo $e->getMessage() . "\n";
+}
+?>
+===DONE===
+--CLEAN--
+<?php
+@unlink(dirname(__FILE__) . '/tar_002.phar');
+?>
+--EXPECTF--
+Warning: fopen(phar://%s/tar_002.phar/tar_002.phpt): failed to open stream: phar error: "%s/tar_002.phar" is a corrupted tar file in %s/tar_002.php on line %d
+Cannot open phar file '%s/tar_002.phar' with alias '(null)': phar error: "%s/tar_002.phar" is a corrupted tar file
+===DONE===
\ No newline at end of file