fix a small memleak in writeatom()
non-tag references were not freed.
1 files changed, 6 insertions(+), 10 deletions(-) | |||
---|---|---|---|
M | stagit.c | +6 | -10 |
1@@ -865,21 +865,17 @@ writeatom(FILE *fp, int all)
2 commitinfo_free(ci);
3 }
4 git_revwalk_free(w);
5- } else {
6+ } else if (getrefs(&ris, &refcount) != -1) {
7 /* references: tags */
8- if (getrefs(&ris, &refcount) != -1) {
9- for (i = 0; i < refcount; i++) {
10- if (!git_reference_is_tag(ris[i].ref))
11- continue;
12-
13+ for (i = 0; i < refcount; i++) {
14+ if (git_reference_is_tag(ris[i].ref))
15 printcommitatom(fp, ris[i].ci,
16 git_reference_shorthand(ris[i].ref));
17
18- commitinfo_free(ris[i].ci);
19- git_reference_free(ris[i].ref);
20- }
21- free(ris);
22+ commitinfo_free(ris[i].ci);
23+ git_reference_free(ris[i].ref);
24 }
25+ free(ris);
26 }
27
28 fputs("</feed>\n", fp);