diff options
-rw-r--r-- | shared.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/shared.c b/shared.c index 5f46793..83b71e6 100644 --- a/shared.c +++ b/shared.c | |||
@@ -279,6 +279,10 @@ int cgit_diff_files(const unsigned char *old_sha1, | |||
279 | if ((file1.ptr && buffer_is_binary(file1.ptr, file1.size)) || | 279 | if ((file1.ptr && buffer_is_binary(file1.ptr, file1.size)) || |
280 | (file2.ptr && buffer_is_binary(file2.ptr, file2.size))) { | 280 | (file2.ptr && buffer_is_binary(file2.ptr, file2.size))) { |
281 | *binary = 1; | 281 | *binary = 1; |
282 | if (file1.size) | ||
283 | free(file1.ptr); | ||
284 | if (file2.size) | ||
285 | free(file2.ptr); | ||
282 | return 0; | 286 | return 0; |
283 | } | 287 | } |
284 | 288 | ||
@@ -291,6 +295,10 @@ int cgit_diff_files(const unsigned char *old_sha1, | |||
291 | emit_cb.outf = filediff_cb; | 295 | emit_cb.outf = filediff_cb; |
292 | emit_cb.priv = fn; | 296 | emit_cb.priv = fn; |
293 | xdl_diff(&file1, &file2, &diff_params, &emit_params, &emit_cb); | 297 | xdl_diff(&file1, &file2, &diff_params, &emit_params, &emit_cb); |
298 | if (file1.size) | ||
299 | free(file1.ptr); | ||
300 | if (file2.size) | ||
301 | free(file2.ptr); | ||
294 | return 0; | 302 | return 0; |
295 | } | 303 | } |
296 | 304 | ||