mirror of
https://github.com/git/git.git
synced 2024-11-24 10:26:17 +08:00
line-log: fix crash when --first-parent is used
line-log tries to access all parents of a commit, but only the first parent has been loaded if "--first-parent" is specified, resulting in a crash. Limit the number of parents to one if "--first-parent" is specified. Reported-by: Eric N. Vander Weele <ericvw@gmail.com> Signed-off-by: Tzvetan Mikov <tmikov@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
1762224ddb
commit
a8787c5c1c
@ -1164,6 +1164,9 @@ static int process_ranges_merge_commit(struct rev_info *rev, struct commit *comm
|
||||
int i;
|
||||
int nparents = count_parents(commit);
|
||||
|
||||
if (nparents > 1 && rev->first_parent_only)
|
||||
nparents = 1;
|
||||
|
||||
diffqueues = xmalloc(nparents * sizeof(*diffqueues));
|
||||
cand = xmalloc(nparents * sizeof(*cand));
|
||||
parents = xmalloc(nparents * sizeof(*parents));
|
||||
|
@ -77,4 +77,9 @@ test_expect_success '-L {empty-range} (first -L)' '
|
||||
git log -L$n:b.c
|
||||
'
|
||||
|
||||
test_expect_success '-L with --first-parent and a merge' '
|
||||
git checkout parallel-change &&
|
||||
git log --first-parent -L 1,1:b.c
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user