]> granicus.if.org Git - cgit/commitdiff
ui-tag: clean up taginfo
authorJohn Keeping <john@keeping.me.uk>
Sat, 13 Aug 2016 10:53:24 +0000 (11:53 +0100)
committerJohn Keeping <john@keeping.me.uk>
Sat, 1 Oct 2016 10:46:55 +0000 (11:46 +0100)
Free the taginfo when we're done with it.  Also reduce the scope of a
couple of variables so that it's clear that this is the only path that
uses the taginfo structure.

Coverity-Id: 141883
Signed-off-by: John Keeping <john@keeping.me.uk>
ui-tag.c

index 6b838cb7b238cd66308a78fb090f096389cd1e30..3fa63b3e760d3d5ba63e5a381a30e5fed1f491ea 100644 (file)
--- a/ui-tag.c
+++ b/ui-tag.c
@@ -44,8 +44,6 @@ void cgit_print_tag(char *revname)
        struct strbuf fullref = STRBUF_INIT;
        unsigned char sha1[20];
        struct object *obj;
-       struct tag *tag;
-       struct taginfo *info;
 
        if (!revname)
                revname = ctx.qry.head;
@@ -63,6 +61,9 @@ void cgit_print_tag(char *revname)
                goto cleanup;
        }
        if (obj->type == OBJ_TAG) {
+               struct tag *tag;
+               struct taginfo *info;
+
                tag = lookup_tag(sha1);
                if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag))) {
                        cgit_print_error_page(500, "Internal server error",
@@ -99,6 +100,7 @@ void cgit_print_tag(char *revname)
                html("</table>\n");
                print_tag_content(info->msg);
                cgit_print_layout_end();
+               cgit_free_taginfo(info);
        } else {
                cgit_print_layout_start();
                html("<table class='commit-info'>\n");