mirror of
https://git.zx2c4.com/cgit
synced 2024-11-09 10:08:42 +00:00
shared.c: avoid memory leak during diff
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
parent
9bd3a7b1ea
commit
ce761fde07
8
shared.c
8
shared.c
@ -278,6 +278,10 @@ int cgit_diff_files(const unsigned char *old_sha1,
|
||||
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 @@ int cgit_diff_files(const unsigned char *old_sha1,
|
||||
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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user