1
0
mirror of https://github.com/php/php-src.git synced 2026-03-25 16:52:18 +01:00

Fixed #63859 Memory leak when reusing curl-handle

When CURLOPT_POSTFIELDS is called more than once on the same
curl handle, php/curl did not free the memory of the previous
post data. This commit will fix the problem unless the curl
handle was previously duplicated using the curl_copy_handle()
function in which case we can not know if the post data is
still in use or not by any curl handle
This commit is contained in:
Pierrick Charron
2012-12-27 13:31:55 -05:00
parent 663434cd76
commit ac3d227e28
2 changed files with 4 additions and 0 deletions

1
NEWS
View File

@@ -15,6 +15,7 @@ PHP NEWS
- cURL extension:
. Fixed bug (segfault due to libcurl connection caching). (Pierrick)
. Fixed bug #63859 (Memory leak when reusing curl-handle). (Pierrick)
. Fixed bug #63795 (CURL >= 7.28.0 no longer support value 1 for
CURLOPT_SSL_VERIFYHOST). (Pierrick)
. Fixed bug #63352 (Can't enable hostname validation when using curl stream

View File

@@ -2131,6 +2131,9 @@ string_copy:
return 1;
}
if (Z_REFCOUNT_P(ch->clone) <= 1) {
zend_llist_clean(&ch->to_free->post);
}
zend_llist_add_element(&ch->to_free->post, &first);
error = curl_easy_setopt(ch->cp, CURLOPT_HTTPPOST, first);