From 5334f3e0009bb7d5835c3bad60db507bfd146930 Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Mon, 10 Aug 2020 16:09:46 +0200 Subject: [PATCH] fix a small memleak in writeatom() non-tag references were not freed. --- stagit.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/stagit.c b/stagit.c index d5c6015..d9e80a1 100644 --- a/stagit.c +++ b/stagit.c @@ -865,21 +865,17 @@ writeatom(FILE *fp, int all) commitinfo_free(ci); } git_revwalk_free(w); - } else { + } else if (getrefs(&ris, &refcount) != -1) { /* references: tags */ - if (getrefs(&ris, &refcount) != -1) { - for (i = 0; i < refcount; i++) { - if (!git_reference_is_tag(ris[i].ref)) - continue; - + for (i = 0; i < refcount; i++) { + if (git_reference_is_tag(ris[i].ref)) printcommitatom(fp, ris[i].ci, git_reference_shorthand(ris[i].ref)); - commitinfo_free(ris[i].ci); - git_reference_free(ris[i].ref); - } - free(ris); + commitinfo_free(ris[i].ci); + git_reference_free(ris[i].ref); } + free(ris); } fputs("\n", fp); -- libgit2 1.1.1