From: Eric Sunshine Date: Sun, 20 Mar 2016 01:23:43 GMT Subject: Re: [PATCH] Fixing segmentation fault when merging FETCH_HEAD Message-ID: In-Reply-To: <1458411460-26146-1-git-send-email-joseivan@lavid.ufpb.br> On Sat, Mar 19, 2016 at 2:17 PM, Jose Ivan B. Vilarouca Filho wrote: > From: "Jose Ivan B. Vilarouca Filho" You can drop this line since it is the same as the From: line in the email envelope. > Fixing segmentation fault when merging FETCH_HEAD Alternate: merge: don't dereference NULL pointer > A segmentaion fault is raised when trying to merge FETCH_HEAD > formed only by "not-for-merge" refs. > > Ex: > git init . > git remote add origin ... > git fetch origin > git merge FETCH_HEAD Can you add a test to ensure that some future change doesn't regress this fix? The above recipe would make a good basis for the new test. > Signed-off-by: Jose Ivan B. Vilarouca Filho > --- > diff --git a/builtin/merge.c b/builtin/merge.c > @@ -1270,9 +1270,9 @@ int cmd_merge(int argc, const char **argv, const char *prefix) > "an empty head")); > remoteheads = collect_parents(head_commit, &head_subsumed, > argc, argv, NULL); > - remote_head = remoteheads->item; > - if (!remote_head) > + if ((!remoteheads) || (!remoteheads->item)) Style: drop unnecessary parantheses if (!remoteheads || !remoteheads->item) > die(_("%s - not something we can merge"), argv[0]); > + remote_head = remoteheads->item; > if (remoteheads->next) > die(_("Can merge only exactly one commit into empty head")); > read_empty(remote_head->object.oid.hash, 0); > -- > 1.7.10.4