summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Joye <pierre.php@gmail.com>2013-05-17 11:45:13 +0200
committerPierre Joye <pierre.php@gmail.com>2013-05-17 11:45:13 +0200
commit3eb1745643e6774dcd589705bf566516561d1cff (patch)
treee900da9d9a5bffd7545c129148e5964b98ab432d
parent86db5fb4c2b7199dc862dfce99c345c49305ba8a (diff)
downloadphp-git-3eb1745643e6774dcd589705bf566516561d1cff.tar.gz
other fix for #64214, unmodified file may not have old fp set, causing other possible crashes
-rw-r--r--ext/phar/zip.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ext/phar/zip.c b/ext/phar/zip.c
index c8057e3bbe..6ba745e9cb 100644
--- a/ext/phar/zip.c
+++ b/ext/phar/zip.c
@@ -937,10 +937,11 @@ is_compressed:
PHAR_SET_32(local.uncompsize, entry->uncompressed_filesize);
PHAR_SET_32(central.compsize, entry->compressed_filesize);
PHAR_SET_32(local.compsize, entry->compressed_filesize);
-
- if (-1 == php_stream_seek(p->old, entry->offset_abs, SEEK_SET)) {
- spprintf(p->error, 0, "unable to seek to start of file \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
- return ZEND_HASH_APPLY_STOP;
+ if (p->old) {
+ if (-1 == php_stream_seek(p->old, entry->offset_abs, SEEK_SET)) {
+ spprintf(p->error, 0, "unable to seek to start of file \"%s\" while creating zip-based phar \"%s\"", entry->filename, entry->phar->fname);
+ return ZEND_HASH_APPLY_STOP;
+ }
}
}
not_compressed: