summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemi Collet <remi@php.net>2017-07-11 11:41:47 +0200
committerRemi Collet <remi@php.net>2017-07-11 11:41:47 +0200
commit2458dce3e5bff026e91e42f292ca7bc0e2b2731c (patch)
tree1bbd4f56c42a26797cdabc02336caf66ec9fd09e
parentc620daecb4f8b1552eb3f63f6a699ea315825072 (diff)
downloadphp-git-2458dce3e5bff026e91e42f292ca7bc0e2b2731c.tar.gz
Fix segfault in php_stream_context_get_option call
-rw-r--r--NEWS1
-rw-r--r--ext/zip/php_zip.h2
-rw-r--r--ext/zip/zip_stream.c2
3 files changed, 3 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 7f3bbec852..a14fd438a7 100644
--- a/NEWS
+++ b/NEWS
@@ -54,6 +54,7 @@ PHP NEWS
- ZIP:
. ZipArchive implements countable, added ZipArchive::count() method. (Remi)
+ . Fix segfault in php_stream_context_get_option call. (Remi)
06 Jul 2017, PHP 7.2.0alpha3
diff --git a/ext/zip/php_zip.h b/ext/zip/php_zip.h
index d874c8f691..585309789e 100644
--- a/ext/zip/php_zip.h
+++ b/ext/zip/php_zip.h
@@ -37,7 +37,7 @@ extern zend_module_entry zip_module_entry;
#define ZIP_OVERWRITE ZIP_TRUNCATE
#endif
-#define PHP_ZIP_VERSION "1.15.0"
+#define PHP_ZIP_VERSION "1.15.1"
#define ZIP_OPENBASEDIR_CHECKPATH(filename) php_check_open_basedir(filename)
diff --git a/ext/zip/zip_stream.c b/ext/zip/zip_stream.c
index 8e7dbcf769..fca18540b1 100644
--- a/ext/zip/zip_stream.c
+++ b/ext/zip/zip_stream.c
@@ -314,7 +314,7 @@ php_stream *php_stream_zip_opener(php_stream_wrapper *wrapper,
if (za) {
zval *tmpzval;
- if (NULL != (tmpzval = php_stream_context_get_option(context, "zip", "password"))) {
+ if (context && NULL != (tmpzval = php_stream_context_get_option(context, "zip", "password"))) {
if (Z_TYPE_P(tmpzval) != IS_STRING || zip_set_default_password(za, Z_STRVAL_P(tmpzval))) {
php_error_docref(NULL, E_WARNING, "Can't set zip password");
}