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 <[email protected]>
---
 ui-tag.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/ui-tag.c b/ui-tag.c
index 6b838cb..3fa63b3 100644
--- 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");
-- 
2.9.2.639.g855ae9f

_______________________________________________
CGit mailing list
[email protected]
http://lists.zx2c4.com/mailman/listinfo/cgit

Reply via email to