{"thread":{"id":"2376","subject":"[PATCH] http-fetch: do not use curl_message after releasing it","startedAt":"2005-11-06T23:59:39Z","lastAt":"2005-11-06T23:59:39Z","messageCount":1,"participants":["Johannes Schindelin"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"11230","messageId":"Pine.LNX.4.63.0511070059150.24078@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"2376","inReplyTo":null,"subject":"[PATCH] http-fetch: do not use curl_message after releasing it","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-11-06T23:59:39Z","receivedAt":"2005-11-06T23:59:39Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"\nWhen curl_message is released using curl_multi_remove_handle(), it's\ncontents are undefined. Therefore, get the information before releasing it.\n\nSigned-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>\n\n---\n\n http-fetch.c |    6 +++---\n 1 files changed, 3 insertions(+), 3 deletions(-)\n\napplies-to: a216f59923735f7680de8b3d9d333dc14de12b77\n0516b1524ce60af57bf056f24b29983a70fb113f\ndiff --git a/http-fetch.c b/http-fetch.c\nindex b12779d..ea8af1b 100644\n--- a/http-fetch.c\n+++ b/http-fetch.c\n@@ -578,6 +578,7 @@ void process_curl_messages(void)\n \n \twhile (curl_message != NULL) {\n \t\tif (curl_message->msg == CURLMSG_DONE) {\n+\t\t\tint curl_result = curl_message->data.result;\n \t\t\tslot = active_queue_head;\n \t\t\twhile (slot != NULL &&\n \t\t\t       slot->curl != curl_message->easy_handle)\n@@ -587,7 +588,7 @@ void process_curl_messages(void)\n \t\t\t\tactive_requests--;\n \t\t\t\tslot->done = 1;\n \t\t\t\tslot->in_use = 0;\n-\t\t\t\tslot->curl_result = curl_message->data.result;\n+\t\t\t\tslot->curl_result = curl_result;\n \t\t\t\tcurl_easy_getinfo(slot->curl,\n \t\t\t\t\t\t  CURLINFO_HTTP_CODE,\n \t\t\t\t\t\t  &slot->http_code);\n@@ -599,8 +600,7 @@ void process_curl_messages(void)\n \t\t\t\tfprintf(stderr, \"Received DONE message for unknown request!\\n\");\n \t\t\t}\n \t\t\tif (request != NULL) {\n-\t\t\t\trequest->curl_result =\n-\t\t\t\t\tcurl_message->data.result;\n+\t\t\t\trequest->curl_result = curl_result;\n \t\t\t\trequest->http_code = slot->http_code;\n \t\t\t\trequest->slot = NULL;\n \t\t\t\trequest->state = COMPLETE;\n---\n0.99.9.GIT\n"}]}