Fix segfault in php_stream_context_get_option call

This commit is contained in:
Remi Collet 2017-07-11 11:41:47 +02:00
parent c620daecb4
commit 2458dce3e5
3 changed files with 3 additions and 2 deletions

1
NEWS
View file

@ -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

View file

@ -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)

View file

@ -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");
}