diff options
| author | Junio C Hamano <gitster@pobox.com> | 2025-05-23 15:34:07 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-05-23 15:34:07 -0700 |
| commit | abb674a09545370f2969a7ec40bd3e2b458589b8 (patch) | |
| tree | b0efd34652b31d04d69d69bf4370c34a3dc43b74 | |
| parent | e9312881ec59a0ab2a000990f01bbfbc60b276b2 (diff) | |
| parent | 7291c2be6a276f8b3693fb7d8dd763cee14c2485 (diff) | |
| download | git-abb674a09545370f2969a7ec40bd3e2b458589b8.tar.gz | |
Merge branch 'ly/pack-bitmap-load-leakfix'
Leakfix.
* ly/pack-bitmap-load-leakfix:
pack-bitmap: fix memory leak if `load_bitmap_entries_v1` failed
| -rw-r--r-- | pack-bitmap.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/pack-bitmap.c b/pack-bitmap.c index b9f1d86604..ac6d62b980 100644 --- a/pack-bitmap.c +++ b/pack-bitmap.c @@ -388,10 +388,6 @@ static int load_bitmap_entries_v1(struct bitmap_index *index) return error(_("corrupt ewah bitmap: commit index %u out of range"), (unsigned)commit_idx_pos); - bitmap = read_bitmap_1(index); - if (!bitmap) - return -1; - if (xor_offset > MAX_XOR_OFFSET || xor_offset > i) return error(_("corrupted bitmap pack index")); @@ -402,6 +398,10 @@ static int load_bitmap_entries_v1(struct bitmap_index *index) return error(_("invalid XOR offset in bitmap pack index")); } + bitmap = read_bitmap_1(index); + if (!bitmap) + return -1; + recent_bitmaps[i % MAX_XOR_OFFSET] = store_bitmap( index, bitmap, &oid, xor_bitmap, flags); } |
