summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2021-06-20 11:02:59 -0500
committerGitHub <noreply@github.com>2021-06-20 11:02:59 -0500
commit47c3db97d1124cd5edc8500ef263138740b7e9ff (patch)
tree2c409125ab5088c5e391391dc1cf8bae6387e41a
parent0d0150d8eb5fe5654af4172fe2f923f5d1317eb7 (diff)
downloadlibgit2-ethomson/remote_error.tar.gz
remote: handle error caseethomson/remote_error
If `git_reference_resolve` fails with an actual error (not `GIT_ENOTFOUND`) it should not be ignored.
-rw-r--r--src/remote.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/remote.c b/src/remote.c
index 5f6ba5bf7..9e480db61 100644
--- a/src/remote.c
+++ b/src/remote.c
@@ -1137,8 +1137,10 @@ static int remote_head_for_ref(git_remote_head **out, git_remote *remote, git_re
if (error == GIT_ENOTFOUND && git_reference_type(ref) == GIT_REFERENCE_SYMBOLIC) {
ref_name = git_reference_symbolic_target(ref);
error = 0;
- } else {
+ } else if (!error) {
ref_name = git_reference_name(resolved_ref);
+ } else {
+ goto cleanup;
}
/*