mirror of
https://git.zx2c4.com/cgit
synced 2024-11-22 16:38: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)) ||
|
if ((file1.ptr && buffer_is_binary(file1.ptr, file1.size)) ||
|
||||||
(file2.ptr && buffer_is_binary(file2.ptr, file2.size))) {
|
(file2.ptr && buffer_is_binary(file2.ptr, file2.size))) {
|
||||||
*binary = 1;
|
*binary = 1;
|
||||||
|
if (file1.size)
|
||||||
|
free(file1.ptr);
|
||||||
|
if (file2.size)
|
||||||
|
free(file2.ptr);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -290,6 +294,10 @@ int cgit_diff_files(const unsigned char *old_sha1,
|
|||||||
emit_cb.outf = filediff_cb;
|
emit_cb.outf = filediff_cb;
|
||||||
emit_cb.priv = fn;
|
emit_cb.priv = fn;
|
||||||
xdl_diff(&file1, &file2, &diff_params, &emit_params, &emit_cb);
|
xdl_diff(&file1, &file2, &diff_params, &emit_params, &emit_cb);
|
||||||
|
if (file1.size)
|
||||||
|
free(file1.ptr);
|
||||||
|
if (file2.size)
|
||||||
|
free(file2.ptr);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user