From 84679d470d577bcde1b6aa6af36c08a2d77b6e68 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 18 Nov 2016 15:21:12 -0800 Subject: for-each-ref: do not segv with %(HEAD) on an unborn branch The code to flip between "*" and " " prefixes depending on what branch is checked out used in --format='%(HEAD)' did not consider that HEAD may resolve to an unborn branch and dereferenced a NULL. This will become a lot easier to trigger as the codepath will be used to reimplement "git branch [--list]" in the future. Signed-off-by: Junio C Hamano --- ref-filter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ref-filter.c') diff --git a/ref-filter.c b/ref-filter.c index bc551a752c..d7e91a78da 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -1017,7 +1017,7 @@ static void populate_value(struct ref_array_item *ref) head = resolve_ref_unsafe("HEAD", RESOLVE_REF_READING, sha1, NULL); - if (!strcmp(ref->refname, head)) + if (head && !strcmp(ref->refname, head)) v->s = "*"; else v->s = " "; -- cgit v1.2.3