X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fgit.git;a=blobdiff_plain;f=http-push.c;h=822f32659936d68de9bb7ee979a113fc12de2b65;hp=e36561a6db0752f12fe22883f81489d62d81a4ca;hb=12a4aeaad8aa2071f9b20f6ac87454c5f6d2d4fb;hpb=dea6737bb76ba231474668a804d3f7178b766c47 diff --git a/http-push.c b/http-push.c index e36561a6db..822f326599 100644 --- a/http-push.c +++ b/http-push.c @@ -501,10 +501,10 @@ static void release_request(struct transfer_request *request) if (request == request_queue_head) { request_queue_head = request->next; } else { - while (entry->next != NULL && entry->next != request) + while (entry && entry->next != request) entry = entry->next; - if (entry->next == request) - entry->next = entry->next->next; + if (entry) + entry->next = request->next; } free(request->url); @@ -723,7 +723,7 @@ static void one_remote_object(const struct object_id *oid) { struct object *obj; - obj = lookup_object(the_repository, oid->hash); + obj = lookup_object(the_repository, oid); if (!obj) obj = parse_object(the_repository, oid); @@ -981,7 +981,7 @@ static int unlock_remote(struct remote_lock *lock) while (prev && prev->next != lock) prev = prev->next; if (prev) - prev->next = prev->next->next; + prev->next = lock->next; } free(lock->owner); @@ -1432,7 +1432,7 @@ static void one_remote_ref(const char *refname) * may be required for updating server info later. */ if (repo->can_update_info_refs && !has_object_file(&ref->old_oid)) { - obj = lookup_unknown_object(ref->old_oid.hash); + obj = lookup_unknown_object(&ref->old_oid); fprintf(stderr, " fetch %s for %s\n", oid_to_hex(&ref->old_oid), refname); add_fetch_request(obj);