diff options
| author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2026-07-05 08:24:22 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2026-07-05 09:12:10 -0700 |
| commit | da82221086eddbf3efa15e3fb7bea14303e16cd9 (patch) | |
| tree | 44b56f9b32ff1332745724f51d977b4c5a38f578 /t/t4013/diff.diff_initial..side | |
| parent | c3f89beb733a260866ec9c163615bce59e77481b (diff) | |
line-log: avoid redundant copy that leaks in process_ranges
When `bloom_filter_check()` indicates that a commit does not touch any
of the tracked paths, `line_log_process_ranges_arbitrary_commit()`
propagates the current ranges to the parent by calling
`line_log_data_copy()` and passing the copy to add_line_range().
However, `add_line_range()` always makes its own copy internally (via
line_log_data_copy or line_log_data_merge), so the caller's copy is
never freed and leaks every time this path is taken.
Pass range directly to `add_line_range()` instead of making a redundant
intermediate copy. The callee's internal copy handles ownership
correctly.
Pointed out by Coverity.
Assisted-by: Claude Opus 4.6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4013/diff.diff_initial..side')
0 files changed, 0 insertions, 0 deletions
