diff options
Diffstat (limited to 'third_party/git/http-push.c')
-rw-r--r-- | third_party/git/http-push.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/third_party/git/http-push.c b/third_party/git/http-push.c index 822f32659936..0353f9f5143d 100644 --- a/third_party/git/http-push.c +++ b/third_party/git/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 && entry->next != request) + while (entry->next != NULL && entry->next != request) entry = entry->next; - if (entry) - entry->next = request->next; + if (entry->next == request) + entry->next = entry->next->next; } free(request->url); @@ -981,7 +981,7 @@ static int unlock_remote(struct remote_lock *lock) while (prev && prev->next != lock) prev = prev->next; if (prev) - prev->next = lock->next; + prev->next = prev->next->next; } free(lock->owner); |