From 09db444fdbf647c95de698d243425a7700b91b2f Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Wed, 1 Feb 2006 11:44:28 +0000 Subject: [PATCH] http-fetch: Fix object list corruption in fill_active_slots(). In fill_active_slots() -- if we find an object which has already arrived, say as part of a pack, /don't/ remove it from the list. It's already been prefetched and someone will ask for it later. Just label it as done and carry blithely on. (As it was, the code would dereference a freed object to continue through the list anyway.) Signed-off-by: Mark Wooding Signed-off-by: Junio C Hamano --- http-fetch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/http-fetch.c b/http-fetch.c index 72edf28b..7b1b2a02 100644 --- a/http-fetch.c +++ b/http-fetch.c @@ -311,7 +311,7 @@ void fill_active_slots(void) while (active_requests < max_requests && obj_req != NULL) { if (obj_req->state == WAITING) { if (has_sha1_file(obj_req->sha1)) - release_object_request(obj_req); + obj_req->state = COMPLETE; else start_object_request(obj_req); curl_multi_perform(curlm, &num_transfers); -- 2.11.0