]> granicus.if.org Git - php/commitdiff
Fix CURLINFO_COOKIELIST leak
authorNikita Popov <nikita.ppv@gmail.com>
Tue, 25 Jun 2019 11:17:39 +0000 (13:17 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Tue, 25 Jun 2019 12:28:58 +0000 (14:28 +0200)
ext/curl/interface.c

index 5db1be99e8b5ad9766115c7d4f2a57652aa7e0b4..bc3bf0db49e6825a24be63af550ce65cf8955ad9 100644 (file)
@@ -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 {