diff options
author | Pierre Joye <pierre.php@gmail.com> | 2013-05-17 11:45:13 +0200 |
---|---|---|
committer | Pierre Joye <pierre.php@gmail.com> | 2013-05-17 11:45:13 +0200 |
commit | 3eb1745643e6774dcd589705bf566516561d1cff (patch) | |
tree | e900da9d9a5bffd7545c129148e5964b98ab432d /ext/phar | |
parent | 86db5fb4c2b7199dc862dfce99c345c49305ba8a (diff) | |
download | php-git-3eb1745643e6774dcd589705bf566516561d1cff.tar.gz |
other fix for #64214, unmodified file may not have old fp set, causing other possible crashes
Diffstat (limited to 'ext/phar')
-rw-r--r-- | ext/phar/zip.c | 9 |
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: |