mirror of
https://github.com/git/git.git
synced 2024-05-09 09:06:57 +02:00
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 <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
df9892ffce
commit
09db444fdb
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue