summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Nguyễn Thái Ngọc Duy <pclouds@gmail.com>2011-09-17 21:57:43 +1000
committerLibravatar Junio C Hamano <gitster@pobox.com>2011-09-18 13:55:56 -0700
commit10b98fa5b3fab4a4ba46f31b58f8da703b465b68 (patch)
treec0e1b8e9d884faa2a43b05ece0f688b9bc66532f
parentmerge: keep stash[] a local variable (diff)
downloadtgif-10b98fa5b3fab4a4ba46f31b58f8da703b465b68.tar.xz
merge: use return value of resolve_ref() to determine if HEAD is invalid
resolve_ref() only updates "head" when it returns non NULL value (it may update "head" even when returning NULL, but not in all cases). Because "head" is not initialized before the call, is_null_sha1() is not enough. Check also resolve_ref() return value. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/merge.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/merge.c b/builtin/merge.c
index a068660d09..c371484ab6 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -1030,7 +1030,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
branch = resolve_ref("HEAD", head, 0, &flag);
if (branch && !prefixcmp(branch, "refs/heads/"))
branch += 11;
- if (is_null_sha1(head))
+ if (!branch || is_null_sha1(head))
head_invalid = 1;
git_config(git_merge_config, NULL);