From 702ef2736479af85ce17aec83c6cfc1fecccf326 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 20 Nov 2017 09:42:20 +0100 Subject: Better fix bug #75540 Segfault with libzip 1.3.1 - only 1.3.1 is affected - fix use after free --- ext/zip/php_zip.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'ext/zip/php_zip.c') diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c index f439340ed8..aee355b04d 100644 --- a/ext/zip/php_zip.c +++ b/ext/zip/php_zip.c @@ -1513,9 +1513,10 @@ static ZIPARCHIVE_METHOD(close) ze_obj = Z_ZIP_P(self); if ((err = zip_close(intern))) { +#if LIBZIP_VERSION_MAJOR == 1 && LIBZIP_VERSION_MINOR == 3 && LIBZIP_VERSION_MICRO == 1 + php_error_docref(NULL, E_WARNING, "%s", "zip_close have failed"); +#else php_error_docref(NULL, E_WARNING, "%s", zip_strerror(intern)); -#if LIBZIP_VERSION_MAJOR < 1 || (LIBZIP_VERSION_MAJOR == 1 && LIBZIP_VERSION_MINOR < 3) || (LIBZIP_VERSION_MAJOR == 1 && LIBZIP_VERSION_MINOR == 3 && LIBZIP_VERSION_MICRO < 1) - /* Fix memory leak in libzip < 1.3.1 */ zip_discard(intern); #endif } -- cgit v1.2.1