aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Hesse <mail@eworm.de>2015-10-09 11:15:46 +0000
committerJason A. Donenfeld <Jason@zx2c4.com>2015-10-09 11:59:46 +0000
commit37fce9916a264e23c0639df56ca3ecbbdc1c84b8 (patch)
tree346ca5cd10b73de63da8b3732f5618d1b13396cf
parentfa5810ed8e66c4b217b8e02d2682e0fdba7f102b (diff)
downloadcgit-37fce9916a264e23c0639df56ca3ecbbdc1c84b8.tar
cgit-37fce9916a264e23c0639df56ca3ecbbdc1c84b8.tar.gz
cgit-37fce9916a264e23c0639df56ca3ecbbdc1c84b8.zip
ui-shared: fix resource leak: free allocation from cgit_fileurl
Coverity-id: 13918 Signed-off-by: Christian Hesse <mail@eworm.de>
-rw-r--r--ui-shared.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 89c4897..d9f8258 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -746,16 +746,19 @@ void cgit_print_docstart(void)
html("'/>\n");
}
if (host && ctx.repo && ctx.qry.head) {
+ char *fileurl;
struct strbuf sb = STRBUF_INIT;
strbuf_addf(&sb, "h=%s", ctx.qry.head);
html("<link rel='alternate' title='Atom feed' href='");
html(cgit_httpscheme());
html_attr(cgit_hosturl());
- html_attr(cgit_fileurl(ctx.repo->url, "atom", ctx.qry.vpath,
- sb.buf));
+ fileurl = cgit_fileurl(ctx.repo->url, "atom", ctx.qry.vpath,
+ sb.buf);
+ html_attr(fileurl);
html("' type='application/atom+xml'/>\n");
strbuf_release(&sb);
+ free(fileurl);
}
if (ctx.repo)
cgit_add_clone_urls(print_rel_vcs_link);
@@ -997,9 +1000,12 @@ void cgit_print_pageheader(void)
ctx.qry.head, ctx.qry.vpath);
html("</td><td class='form'>");
html("<form class='right' method='get' action='");
- if (ctx.cfg.virtual_root)
- html_url_path(cgit_fileurl(ctx.qry.repo, "log",
- ctx.qry.vpath, NULL));
+ if (ctx.cfg.virtual_root) {
+ char *fileurl = cgit_fileurl(ctx.qry.repo, "log",
+ ctx.qry.vpath, NULL);
+ html_url_path(fileurl);
+ free(fileurl);
+ }
html("'>\n");
cgit_add_hidden_formfields(1, 0, "log");
html("<select name='qt'>\n");