stagit

My fork of stagit

git clone git://git.shimmy1996.com/stagit.git
commit 5334f3e0009bb7d5835c3bad60db507bfd146930
parent dc0709f6f4f7e256e27272cb0b8611715caf1f3b
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Mon, 10 Aug 2020 16:09:46 +0200

fix a small memleak in writeatom()

non-tag references were not freed.

Diffstat:
Mstagit.c | 16++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git 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);