summaryrefslogtreecommitdiff
path: root/ext/curl
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-06-25 13:17:39 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-06-25 14:28:58 +0200
commit8757f30cc7f857f9b619b2f8b2f2731507653846 (patch)
tree4f0d69b950a033abd7212ecf547316cca1930cf8 /ext/curl
parent8277acefbd62a5a4846a10d1d9b4f7daa36ee363 (diff)
downloadphp-git-8757f30cc7f857f9b619b2f8b2f2731507653846.tar.gz
Fix CURLINFO_COOKIELIST leak
Diffstat (limited to 'ext/curl')
-rw-r--r--ext/curl/interface.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ext/curl/interface.c b/ext/curl/interface.c
index 5db1be99e8..bc3bf0db49 100644
--- a/ext/curl/interface.c
+++ b/ext/curl/interface.c
@@ -3432,11 +3432,12 @@ PHP_FUNCTION(curl_getinfo)
case CURLINFO_SLIST:
{
struct curl_slist *slist;
- array_init(return_value);
if (curl_easy_getinfo(ch->cp, option, &slist) == CURLE_OK) {
- while (slist) {
- add_next_index_string(return_value, slist->data);
- slist = slist->next;
+ struct curl_slist *current = slist;
+ array_init(return_value);
+ while (current) {
+ add_next_index_string(return_value, current->data);
+ current = current->next;
}
curl_slist_free_all(slist);
} else {