diff options
author | Remi Collet <remi@remirepo.net> | 2025-09-25 11:34:16 +0200 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2025-09-25 11:34:16 +0200 |
commit | f9d8c1a8b16f1b652bfed190b24ddeb302b4e685 (patch) | |
tree | c892cba041d34baff3ed0e52cd2a6150dfd40ab0 /0001-Fix-leak-when-path-is-too-long-in-ZipArchive-extract.patch | |
parent | 5679de176757d90428f6bc9a587b4fb3bcc25a46 (diff) |
Diffstat (limited to '0001-Fix-leak-when-path-is-too-long-in-ZipArchive-extract.patch')
-rw-r--r-- | 0001-Fix-leak-when-path-is-too-long-in-ZipArchive-extract.patch | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/0001-Fix-leak-when-path-is-too-long-in-ZipArchive-extract.patch b/0001-Fix-leak-when-path-is-too-long-in-ZipArchive-extract.patch deleted file mode 100644 index 0dd8ea1..0000000 --- a/0001-Fix-leak-when-path-is-too-long-in-ZipArchive-extract.patch +++ /dev/null @@ -1,103 +0,0 @@ -From c55973ad182906be1282257f1ba79b89ab9625a2 Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Wed, 27 Aug 2025 09:54:34 +0200 -Subject: [PATCH 1/2] Fix leak when path is too long in ZipArchive::extractTo() - -Upstream 09c223de00af9b312e49db7bbc915aefaca5dbf8 ---- - php5/php_zip.c | 1 + - php7/php_zip.c | 1 + - php73/php_zip.c | 1 + - php74/php_zip.c | 1 + - php8/php_zip.c | 1 + - php81/php_zip.c | 1 + - php85/php_zip.c | 1 + - 7 files changed, 7 insertions(+) - -diff --git a/php5/php_zip.c b/php5/php_zip.c -index 08b4963..5dda462 100644 ---- a/php5/php_zip.c -+++ b/php5/php_zip.c -@@ -234,6 +234,7 @@ static int php_zip_extract_file(struct zip * za, char *dest, const char *file, i - return 0; - } else if (len > MAXPATHLEN) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Full extraction path exceed MAXPATHLEN (%i)", MAXPATHLEN); -+ efree(fullpath); - efree(file_dirname_fullpath); - efree(file_basename); - efree(new_state.cwd); -diff --git a/php7/php_zip.c b/php7/php_zip.c -index b660b33..bffed61 100644 ---- a/php7/php_zip.c -+++ b/php7/php_zip.c -@@ -233,6 +233,7 @@ static int php_zip_extract_file(struct zip * za, char *dest, const char *file, s - return 0; - } else if (len > MAXPATHLEN) { - php_error_docref(NULL, E_WARNING, "Full extraction path exceed MAXPATHLEN (%i)", MAXPATHLEN); -+ efree(fullpath); - efree(file_dirname_fullpath); - zend_string_release(file_basename); - CWD_STATE_FREE(new_state.cwd); -diff --git a/php73/php_zip.c b/php73/php_zip.c -index 9dd4ac2..0635a84 100644 ---- a/php73/php_zip.c -+++ b/php73/php_zip.c -@@ -233,6 +233,7 @@ static int php_zip_extract_file(struct zip * za, char *dest, const char *file, s - return 0; - } else if (len > MAXPATHLEN) { - php_error_docref(NULL, E_WARNING, "Full extraction path exceed MAXPATHLEN (%i)", MAXPATHLEN); -+ efree(fullpath); - efree(file_dirname_fullpath); - zend_string_release_ex(file_basename, 0); - CWD_STATE_FREE(new_state.cwd); -diff --git a/php74/php_zip.c b/php74/php_zip.c -index 5754dd9..0cd33ad 100644 ---- a/php74/php_zip.c -+++ b/php74/php_zip.c -@@ -229,6 +229,7 @@ static int php_zip_extract_file(struct zip * za, char *dest, const char *file, s - return 0; - } else if (len > MAXPATHLEN) { - php_error_docref(NULL, E_WARNING, "Full extraction path exceed MAXPATHLEN (%i)", MAXPATHLEN); -+ efree(fullpath); - efree(file_dirname_fullpath); - zend_string_release_ex(file_basename, 0); - CWD_STATE_FREE(new_state.cwd); -diff --git a/php8/php_zip.c b/php8/php_zip.c -index dc5f539..5328c25 100644 ---- a/php8/php_zip.c -+++ b/php8/php_zip.c -@@ -217,6 +217,7 @@ static int php_zip_extract_file(struct zip * za, char *dest, const char *file, s - return 0; - } else if (len > MAXPATHLEN) { - php_error_docref(NULL, E_WARNING, "Full extraction path exceed MAXPATHLEN (%i)", MAXPATHLEN); -+ efree(fullpath); - efree(file_dirname_fullpath); - zend_string_release_ex(file_basename, 0); - CWD_STATE_FREE(new_state.cwd); -diff --git a/php81/php_zip.c b/php81/php_zip.c -index 3746ff5..ddcf47f 100644 ---- a/php81/php_zip.c -+++ b/php81/php_zip.c -@@ -226,6 +226,7 @@ static int php_zip_extract_file(struct zip * za, char *dest, const char *file, s - return 0; - } else if (len > MAXPATHLEN) { - php_error_docref(NULL, E_WARNING, "Full extraction path exceed MAXPATHLEN (%i)", MAXPATHLEN); -+ efree(fullpath); - efree(file_dirname_fullpath); - zend_string_release_ex(file_basename, 0); - CWD_STATE_FREE(new_state.cwd); -diff --git a/php85/php_zip.c b/php85/php_zip.c -index 450c297..d5f7b01 100644 ---- a/php85/php_zip.c -+++ b/php85/php_zip.c -@@ -211,6 +211,7 @@ static int php_zip_extract_file(struct zip * za, char *dest, const char *file, s - return 0; - } else if (len > MAXPATHLEN) { - php_error_docref(NULL, E_WARNING, "Full extraction path exceed MAXPATHLEN (%i)", MAXPATHLEN); -+ efree(fullpath); - efree(file_dirname_fullpath); - zend_string_release_ex(file_basename, 0); - CWD_STATE_FREE(new_state.cwd); --- -2.51.0 - |