Skip to content

Commit dfd2bbe

Browse files
ahuntgitster
authored andcommitted
bloom: clear each bloom_key after use
fill_bloom_key() allocates memory into bloom_key, we need to clean that up once the key is no longer needed. This fixes the following leak which was found while running t0002-t0099. Although this leak is happening in code being called from a test-helper, the same code is also used in various locations around git, and could presumably happen during normal usage too. Direct leak of 308 byte(s) in 11 object(s) allocated from: #0 0x49a5e2 in calloc ../projects/compiler-rt/lib/asan/asan_malloc_linux.cpp:154:3 #1 0x6f4032 in xcalloc wrapper.c:140:8 #2 0x4f2905 in fill_bloom_key bloom.c:137:28 #3 0x4f34c1 in get_or_compute_bloom_filter bloom.c:284:4 #4 0x4cb484 in get_bloom_filter_for_commit t/helper/test-bloom.c:43:11 #5 0x4cb072 in cmd__bloom t/helper/test-bloom.c:97:3 #6 0x4ca7ef in cmd_main t/helper/test-tool.c:121:11 #7 0x4caace in main common-main.c:52:11 #8 0x7f798af95349 in __libc_start_main (/lib64/libc.so.6+0x24349) SUMMARY: AddressSanitizer: 308 byte(s) leaked in 11 allocation(s). Signed-off-by: Andrzej Hunt <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent af08cba commit dfd2bbe

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

bloom.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,7 @@ struct bloom_filter *get_or_compute_bloom_filter(struct repository *r,
283283
struct bloom_key key;
284284
fill_bloom_key(e->path, strlen(e->path), &key, settings);
285285
add_key_to_filter(&key, filter, settings);
286+
clear_bloom_key(&key);
286287
}
287288

288289
cleanup:

0 commit comments

Comments
 (0)