all repos — cgit @ ce761fde0772236a11b41270f9254c515f724ad5

a hyperfast web frontend for git written in c

shared.c: avoid memory leak during diff

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Lars Hjemli hjemli@gmail.com
Thu, 08 Apr 2010 00:48:36 +0200
commit

ce761fde0772236a11b41270f9254c515f724ad5

parent

9bd3a7b1ea6c5863d7cba1b5352ce707f5d129a0

1 files changed, 8 insertions(+), 0 deletions(-)

jump to
M shared.cshared.c

@@ -278,6 +278,10 @@

if ((file1.ptr && buffer_is_binary(file1.ptr, file1.size)) || (file2.ptr && buffer_is_binary(file2.ptr, file2.size))) { *binary = 1; + if (file1.size) + free(file1.ptr); + if (file2.size) + free(file2.ptr); return 0; }

@@ -290,6 +294,10 @@ emit_params.flags = XDL_EMIT_FUNCNAMES;

emit_cb.outf = filediff_cb; emit_cb.priv = fn; xdl_diff(&file1, &file2, &diff_params, &emit_params, &emit_cb); + if (file1.size) + free(file1.ptr); + if (file2.size) + free(file2.ptr); return 0; }