From 8c292a2f9d20151d7269f8b95d5ddde226c8efb8 Mon Sep 17 00:00:00 2001 From: Alexey Zamorov <53096396+AlexeyZamorov@users.noreply.github.com> Date: Sun, 15 Aug 2021 17:28:03 +0300 Subject: [PATCH] Avoid dangling pointer in curl header.str If buf_len is zero, this would leave behind a dangling pointer to an already released header.str. Make sure this can't happen by always overwriting the pointer. Closes GH-7376. --- ext/curl/interface.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 6434638b69d..630cf86ce27 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -1766,9 +1766,7 @@ static int curl_debug(CURL *cp, curl_infotype type, char *buf, size_t buf_len, v if (ch->header.str) { zend_string_release_ex(ch->header.str, 0); } - if (buf_len > 0) { - ch->header.str = zend_string_init(buf, buf_len, 0); - } + ch->header.str = zend_string_init(buf, buf_len, 0); } return 0;