about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorLukas Fleischer2013-03-04 13:25:37 +0100
committerJason A. Donenfeld2013-03-04 20:47:53 -0500
commitbc2f5a6d53fa8ec1dee3335dd6de4650f834231b (patch)
tree1e6d669d9c1fe852f4f17d044ec9b061f80e80a5
parentcgit_print_tree(): Free curr_rev after usage (diff)
downloadcgit-bc2f5a6d53fa8ec1dee3335dd6de4650f834231b.tar.gz
cgit-bc2f5a6d53fa8ec1dee3335dd6de4650f834231b.zip
cgit_print_commit(): Free tmp variable
Fixes following memory leak seen with "PATH_INFO=/cgit/commit/":

    ==16894== 7 bytes in 1 blocks are definitely lost in loss record 4 of 92
    ==16894==    at 0x4C2C04B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==16894==    by 0x56F2DF1: strdup (in /usr/lib/libc-2.17.so)
    ==16894==    by 0x46CAC8: xstrdup (wrapper.c:35)
    ==16894==    by 0x40CD6F: cgit_print_commit (ui-commit.c:70)
    ==16894==    by 0x407B06: commit_fn (cmd.c:54)
    ==16894==    by 0x405E16: process_request (cgit.c:574)
    ==16894==    by 0x4074C8: cache_process (cache.c:322)
    ==16894==    by 0x406C4F: main (cgit.c:872)

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
-rw-r--r--ui-commit.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ui-commit.c b/ui-commit.c index 74f37c8..0783285 100644 --- a/ui-commit.c +++ b/ui-commit.c
@@ -74,6 +74,7 @@ void cgit_print_commit(char *hex, const char *prefix)
74 html(" /"); 74 html(" /");
75 cgit_tree_link(prefix, NULL, NULL, ctx.qry.head, tmp, prefix); 75 cgit_tree_link(prefix, NULL, NULL, ctx.qry.head, tmp, prefix);
76 } 76 }
77 free(tmp);
77 html("</td></tr>\n"); 78 html("</td></tr>\n");
78 for (p = commit->parents; p; p = p->next) { 79 for (p = commit->parents; p; p = p->next) {
79 parent = lookup_commit_reference(p->item->object.sha1); 80 parent = lookup_commit_reference(p->item->object.sha1);