summaryrefslogtreecommitdiff
path: root/diff.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2010-04-02 00:04:14 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-04-02 06:49:29 (GMT)
commitb76c056b95ccb15ae3b0723da983914de88b4bae (patch)
treea79b4b5c9cf35f4d930c30381f3e6bd6322757bb /diff.c
parentc00e657df23d9e83d86a79657ff9061b1c2d357b (diff)
downloadgit-b76c056b95ccb15ae3b0723da983914de88b4bae.zip
git-b76c056b95ccb15ae3b0723da983914de88b4bae.tar.gz
git-b76c056b95ccb15ae3b0723da983914de88b4bae.tar.bz2
fix textconv leak in emit_rewrite_diff
We correctly free() for the normal diff case, but leak for rewrite diffs. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diff.c')
-rw-r--r--diff.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/diff.c b/diff.c
index 2daa732..db2cd5d 100644
--- a/diff.c
+++ b/diff.c
@@ -550,6 +550,10 @@ static void emit_rewrite_diff(const char *name_a,
emit_rewrite_lines(&ecbdata, '-', data_one, size_one);
if (lc_b)
emit_rewrite_lines(&ecbdata, '+', data_two, size_two);
+ if (textconv_one)
+ free(data_one);
+ if (textconv_two)
+ free(data_two);
}
struct diff_words_buffer {