Skip to content

Commit a26d48a

Browse files
committed
Merge branch 'rs/plug-leak-in-pack-bitmaps'
The code to read pack-bitmap wanted to allocate a few hundred pointers to a structure, but by mistake allocated and leaked memory enough to hold that many actual structures. Correct the allocation size and also have it on stack, as it is small enough. * rs/plug-leak-in-pack-bitmaps: pack-bitmaps: plug memory leak, fix allocation size for recent_bitmaps
2 parents 22a1ae6 + 599dc76 commit a26d48a

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

pack-bitmap.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -209,14 +209,12 @@ static inline uint8_t read_u8(const unsigned char *buffer, size_t *pos)
209209
return buffer[(*pos)++];
210210
}
211211

212+
#define MAX_XOR_OFFSET 160
213+
212214
static int load_bitmap_entries_v1(struct bitmap_index *index)
213215
{
214-
static const size_t MAX_XOR_OFFSET = 160;
215-
216216
uint32_t i;
217-
struct stored_bitmap **recent_bitmaps;
218-
219-
recent_bitmaps = xcalloc(MAX_XOR_OFFSET, sizeof(struct stored_bitmap));
217+
struct stored_bitmap *recent_bitmaps[MAX_XOR_OFFSET] = { NULL };
220218

221219
for (i = 0; i < index->entry_count; ++i) {
222220
int xor_offset, flags;

0 commit comments

Comments
 (0)