aboutsummaryrefslogtreecommitdiff
path: root/builtin/checkout.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2013-10-24 04:53:46 -0400
committerJunio C Hamano <gitster@pobox.com>2013-10-24 15:43:50 -0700
commit683ff884cce955cc331929d857fac9d6bd69f46a (patch)
treee2008ae24bd2672c58d9d1410e95552d6f74e05b /builtin/checkout.c
parent5e7d4d3e932432131d0f8f4195e0061ecf644865 (diff)
downloadgit-683ff884cce955cc331929d857fac9d6bd69f46a.tar.gz
git-683ff884cce955cc331929d857fac9d6bd69f46a.tar.xz
use parse_commit_or_die instead of segfaulting
Some unchecked calls to parse_commit should obviously die on error, because their next step is to start looking at the parsed fields, which will cause a segfault. These are obvious candidates for parse_commit_or_die, which will be a strict improvement in behavior. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/checkout.c')
-rw-r--r--builtin/checkout.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 7025938ae..88ab9480d 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -796,7 +796,7 @@ static int switch_branches(const struct checkout_opts *opts,
new->commit = old.commit;
if (!new->commit)
die(_("You are on a branch yet to be born"));
- parse_commit(new->commit);
+ parse_commit_or_die(new->commit);
}
ret = merge_working_tree(opts, &old, new, &writeout_error);
@@ -959,7 +959,7 @@ static int parse_branchname_arg(int argc, const char **argv,
/* not a commit */
*source_tree = parse_tree_indirect(rev);
} else {
- parse_commit(new->commit);
+ parse_commit_or_die(new->commit);
*source_tree = new->commit->tree;
}