summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Rees <maxcrees@me.com>2020-03-27 12:57:24 -0500
committerRemi Collet <remi@php.net>2020-03-29 14:22:31 +0200
commit04920645f14ea117d5248ef3a0e03c6784c2fb49 (patch)
tree67367bd564bf5643c99dbc9c1dbcc7cfe56cdbca
parent7f9b534e3a3c8129b7ddcb86454483c43a309387 (diff)
downloadphp-git-04920645f14ea117d5248ef3a0e03c6784c2fb49.tar.gz
Fix #79424 ext/zip: don't use gl_pathc after call to globfree
This breaks on Linux with the musl libc, since it zeroes out gl_pathc during globfree.
-rw-r--r--NEWS2
-rw-r--r--ext/zip/php_zip.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index edd69bb27a..f27238b701 100644
--- a/NEWS
+++ b/NEWS
@@ -34,6 +34,8 @@ PHP NEWS
- Zip:
. Fixed Bug #79296 (ZipArchive::open fails on empty file). (Remi)
+ . Fixed bug #79424 (php_zip_glob uses gl_pathc after call to globfree).
+ (Max Rees)
19 Mar 2020, PHP 7.3.16
diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c
index 48af712b9c..9cbef05285 100644
--- a/ext/zip/php_zip.c
+++ b/ext/zip/php_zip.c
@@ -606,8 +606,9 @@ int php_zip_glob(char *pattern, int pattern_len, zend_long flags, zval *return_v
add_next_index_string(return_value, globbuf.gl_pathv[n]+cwd_skip);
}
+ ret = globbuf.gl_pathc;
globfree(&globbuf);
- return globbuf.gl_pathc;
+ return ret;
#else
zend_throw_error(NULL, "Glob support is not available");
return 0;