Fix potential send-pack SIGSEGV
The check that the source is ahead of the destination incorrectly expects pop_most_recent_commit() to gracefully handle an empty list. Fix by just checking the list itself, rather than the return value of the pop function. [jc: I did the test script that demonstrated the problem] Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
committed by
Junio C Hamano
parent
2779fad613
commit
bdf25142aa
@ -134,7 +134,8 @@ static int ref_newer(const unsigned char *new_sha1, const unsigned char *old_sha
|
||||
return 0;
|
||||
list = NULL;
|
||||
commit_list_insert(new, &list);
|
||||
while ((new = pop_most_recent_commit(&list, 1)) != NULL) {
|
||||
while (list) {
|
||||
new = pop_most_recent_commit(&list, 1);
|
||||
if (new == old)
|
||||
return 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user