This was introduced at b6e8a3b5 (2015-04-17, limit_list: avoid quadratic behavior from still_interesting), which also introduced the check a few lines before, which already dereferences `interesting_cache`. So at this point `interesting_cache` is guaranteed to be not NULL. The code is called referencing the address of a local variable, so `interesting_cache` can actually never be NULL and trigger a segmentation fault by dereferencing it a few lines before this. I think the right thing is to check for `*interesting_cache` as that can become NULL actually. Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- Hi Jeff, I found this possible defect via coverity id 1295352. As I have had limited exposure to revision.c code until now, the commit message may or may not be bogus. Thanks, Stefan revision.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/revision.c b/revision.c index 3ff8723..d1f0f07 100644 --- a/revision.c +++ b/revision.c @@ -347,35 +347,35 @@ static struct commit *handle_commit(struct rev_info *revs, static int everybody_uninteresting(struct commit_list *orig, struct commit **interesting_cache) { struct commit_list *list = orig; if (*interesting_cache) { struct commit *commit = *interesting_cache; if (!(commit->object.flags & UNINTERESTING)) return 0; } while (list) { struct commit *commit = list->item; list = list->next; if (commit->object.flags & UNINTERESTING) continue; - if (interesting_cache) + if (*interesting_cache) *interesting_cache = commit; return 0; } return 1; } /* * A definition of "relevant" commit that we can use to simplify limited graphs * by eliminating side branches. * * A "relevant" commit is one that is !UNINTERESTING (ie we are including it * in our list), or that is a specified BOTTOM commit. Then after computing * a limited list, during processing we can generally ignore boundary merges * coming from outside the graph, (ie from irrelevant parents), and treat * those merges as if they were single-parent. TREESAME is defined to consider * only relevant parents, if any. If we are TREESAME to our on-graph parents, * we don't care if we were !TREESAME to non-graph parents. -- 2.4.1.345.gab207b6.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in