diff --git a/NEWS b/NEWS index 5a01565a855..841af54b18b 100644 --- a/NEWS +++ b/NEWS @@ -96,6 +96,10 @@ PHP NEWS - Wddx: . Fixed bug #72564 (boolean always deserialized as "true") (Remi) +- Zip: + . Fixed bug #72660 (NULL Pointer dereference in zend_virtual_cwd). + (Laruence) + 21 Jul 2016 PHP 7.0.9 - Core: diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c index bdcba78b210..b9f0bb73ac7 100644 --- a/ext/zip/php_zip.c +++ b/ext/zip/php_zip.c @@ -1619,10 +1619,10 @@ static void php_zip_add_from_pattern(INTERNAL_FUNCTION_PARAMETERS, int type) /* { struct zip *intern; zval *self = getThis(); - char *path = NULL; + char *path = "."; char *remove_path = NULL; char *add_path = NULL; - size_t add_path_len, remove_path_len = 0, path_len = 0; + size_t add_path_len, remove_path_len = 0, path_len = 1; zend_long remove_all_path = 0; zend_long flags = 0; zval *options = NULL; diff --git a/ext/zip/tests/bug72660.phpt b/ext/zip/tests/bug72660.phpt new file mode 100644 index 00000000000..af02b9b5a31 --- /dev/null +++ b/ext/zip/tests/bug72660.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #72660 (NULL Pointer dereference in zend_virtual_cwd) +--SKIPIF-- + +--FILE-- +open(dirname(__FILE__) . "/bug72660.zip", ZIPARCHIVE::CREATE); +$zip->addPattern("/noexists/"); +?> +okey +--CLEAN-- + +--EXPECT-- +okey