]> git.ipfire.org Git - thirdparty/git.git/commit - diff.c
diff: plug memory leak from regcomp() on {log,diff} -I
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 11 Feb 2021 10:45:35 +0000 (11:45 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 11 Feb 2021 17:21:07 +0000 (09:21 -0800)
commitc45dc9cf30a6f7f40adb3ea70dd2f2905ecd4afa
tree622b2b4ae4cc83c5f939878413accfba45579389
parente900d494dcff7bb9033865e61b452128ff232481
diff: plug memory leak from regcomp() on {log,diff} -I

Fix a memory leak in 296d4a94e7 (diff: add -I<regex> that ignores
matching changes, 2020-10-20) by freeing the memory it allocates in
the newly introduced diff_free(). See the previous commit for details
on that.

This memory leak was intentionally introduced in 296d4a94e7, see the
discussion on a previous iteration of it in
https://lore.kernel.org/git/xmqqeelycajx.fsf@gitster.c.googlers.com/

At that time freeing the memory was somewhat tedious, but since it
isn't anymore with the newly introduced diff_free() let's use it.

Let's retain the pattern for diff_free_file() and add a
diff_free_ignore_regex(), even though (unlike "diff_free_file") we
don't need to call it elsewhere. I think this'll make for more
readable code than gradually accumulating a giant diff_free()
function, sharing "int i" across unrelated code etc.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c