aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHiltjo Posthuma <[email protected]>2020-08-10 16:09:46 +0200
committerHiltjo Posthuma <[email protected]>2020-08-10 16:09:46 +0200
commit5334f3e0009bb7d5835c3bad60db507bfd146930 (patch)
treee1920e75da8482947a70570f691eadd9e2268ed3
parentdc0709f6f4f7e256e27272cb0b8611715caf1f3b (diff)
downloadstagit-5334f3e0009bb7d5835c3bad60db507bfd146930.tar.gz
stagit-5334f3e0009bb7d5835c3bad60db507bfd146930.zip
fix a small memleak in writeatom()
non-tag references were not freed.
-rw-r--r--stagit.c16
1 files 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("</feed>\n", fp);