# [PATCH] http-fetch: do not use curl_message after releasing it

1 messages from 2005-11-06 to 2005-11-06. Participants: Johannes Schindelin.
Thread: https://gitlist.dev/t/2376

## Johannes Schindelin, 2005-11-06 23:59

Subject: [PATCH] http-fetch: do not use curl_message after releasing it
Message-ID: <Pine.LNX.4.63.0511070059150.24078@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0511070059150.24078%40wbgn013.biozentrum.uni-wuerzburg.de

```

When curl_message is released using curl_multi_remove_handle(), it's
contents are undefined. Therefore, get the information before releasing it.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>

---

 http-fetch.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

applies-to: a216f59923735f7680de8b3d9d333dc14de12b77
0516b1524ce60af57bf056f24b29983a70fb113f
diff --git a/http-fetch.c b/http-fetch.c
index b12779d..ea8af1b 100644
--- a/http-fetch.c
+++ b/http-fetch.c
@@ -578,6 +578,7 @@ void process_curl_messages(void)
 
 	while (curl_message != NULL) {
 		if (curl_message->msg == CURLMSG_DONE) {
+			int curl_result = curl_message->data.result;
 			slot = active_queue_head;
 			while (slot != NULL &&
 			       slot->curl != curl_message->easy_handle)
@@ -587,7 +588,7 @@ void process_curl_messages(void)
 				active_requests--;
 				slot->done = 1;
 				slot->in_use = 0;
-				slot->curl_result = curl_message->data.result;
+				slot->curl_result = curl_result;
 				curl_easy_getinfo(slot->curl,
 						  CURLINFO_HTTP_CODE,
 						  &slot->http_code);
@@ -599,8 +600,7 @@ void process_curl_messages(void)
 				fprintf(stderr, "Received DONE message for unknown request!\n");
 			}
 			if (request != NULL) {
-				request->curl_result =
-					curl_message->data.result;
+				request->curl_result = curl_result;
 				request->http_code = slot->http_code;
 				request->slot = NULL;
 				request->state = COMPLETE;
---
0.99.9.GIT

```
