From: Johannes Schindelin Date: Thu, 14 Feb 2008 23:25:33 +0000 (+0000) Subject: http-push: avoid invalid memory accesses X-Git-Tag: v1.5.4.4~35^2~2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=add8e8cee5054734cb19d918f83bcee649aab326;p=git.git http-push: avoid invalid memory accesses Before objects are sent, the respective ref is locked. However, without this patch, the lock is lifted before the last object for that ref was sent. As a consequence, the lock data was accessed after the lock structure was free()d. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- diff --git a/http-push.c b/http-push.c index b2b410df9..386b806f3 100644 --- a/http-push.c +++ b/http-push.c @@ -2398,7 +2398,12 @@ int main(int argc, char **argv) fill_active_slots(); add_fill_function(NULL, fill_active_slot); #endif - finish_all_active_slots(); + do { + finish_all_active_slots(); +#ifdef USE_CURL_MULTI + fill_active_slots(); +#endif + } while (request_queue_head && !aborted); /* Update the remote branch if all went well */ if (aborted || !update_remote(ref->new_sha1, ref_lock)) {