From 4be49d756894daca0e8a4477d36c6ed1096ccddc Mon Sep 17 00:00:00 2001 From: Jeff King Date: Tue, 12 Jan 2016 04:57:34 -0500 Subject: checkout,clone: check return value of create_symref It's unlikely that we would fail to create or update a symbolic ref (especially HEAD), but if we do, we should notice and complain. Note that there's no need to give more details in our error message; create_symref will already have done so. While we're here, let's also fix a minor memory leak in clone. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- builtin/checkout.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'builtin/checkout.c') diff --git a/builtin/checkout.c b/builtin/checkout.c index e8110a9243..5af84a3118 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -661,7 +661,8 @@ static void update_refs_for_switch(const struct checkout_opts *opts, describe_detached_head(_("HEAD is now at"), new->commit); } } else if (new->path) { /* Switch branches. */ - create_symref("HEAD", new->path, msg.buf); + if (create_symref("HEAD", new->path, msg.buf) < 0) + die("unable to update HEAD"); if (!opts->quiet) { if (old->path && !strcmp(new->path, old->path)) { if (opts->new_branch_force) -- cgit v1.3-5-g9baa