summaryrefslogtreecommitdiff
path: root/src/refs.c
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2015-03-24 20:58:00 +0000
committerEdward Thomson <ethomson@edwardthomson.com>2015-03-24 20:58:00 +0000
commit78db0239db2f5aafe2031cb4b3ce540deb6e8907 (patch)
tree2cde928d0174f62bbd2f9d016a7f5ffb887d14a7 /src/refs.c
parentc5e071873c1aa4a751202aedeefac7ddb982576c (diff)
downloadlibgit2-78db0239db2f5aafe2031cb4b3ce540deb6e8907.tar.gz
squash some leaks
Diffstat (limited to 'src/refs.c')
-rw-r--r--src/refs.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/refs.c b/src/refs.c
index 360e65373..ff5e24067 100644
--- a/src/refs.c
+++ b/src/refs.c
@@ -1052,12 +1052,10 @@ static int get_terminal(git_reference **out, git_repository *repo, const char *r
error = 0;
} else {
error = get_terminal(out, repo, git_reference_symbolic_target(ref), nesting + 1);
- if (error == GIT_ENOTFOUND) {
- if (!*out) /* set by the error case in lookup above */
- *out = ref;
- } else {
+ if (error == GIT_ENOTFOUND && !*out)
+ *out = ref;
+ else
git_reference_free(ref);
- }
}
return error;