--- v2
+++ v4
@@ -7,15 +7,23 @@
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
---
- midx.c | 71 +++++++++++++------------------------
- t/t5319-multi-pack-index.sh | 6 ++--
- 2 files changed, 28 insertions(+), 49 deletions(-)
+ midx.c | 73 +++++++++++++------------------------
+ t/t5319-multi-pack-index.sh | 6 +--
+ 2 files changed, 29 insertions(+), 50 deletions(-)
diff --git a/midx.c b/midx.c
-index 3585e04a706..e94dcd34b7f 100644
+index d2fd9c10feea..d7ea0d1375fa 100644
--- a/midx.c
+++ b/midx.c
-@@ -54,6 +54,19 @@ static char *get_midx_filename(const char *object_dir)
+@@ -28,7 +28,6 @@
+ #define MIDX_CHUNKID_OIDLOOKUP 0x4f49444c /* "OIDL" */
+ #define MIDX_CHUNKID_OBJECTOFFSETS 0x4f4f4646 /* "OOFF" */
+ #define MIDX_CHUNKID_LARGEOFFSETS 0x4c4f4646 /* "LOFF" */
+-#define MIDX_CHUNKLOOKUP_WIDTH (sizeof(uint32_t) + sizeof(uint64_t))
+ #define MIDX_CHUNK_FANOUT_SIZE (sizeof(uint32_t) * 256)
+ #define MIDX_CHUNK_OFFSET_WIDTH (2 * sizeof(uint32_t))
+ #define MIDX_CHUNK_LARGE_OFFSET_WIDTH (sizeof(uint64_t))
+@@ -53,6 +52,19 @@ static char *get_midx_filename(const char *object_dir)
return xstrfmt("%s/pack/multi-pack-index", object_dir);
}
@@ -35,7 +43,7 @@
struct multi_pack_index *load_multi_pack_index(const char *object_dir, int local)
{
struct multi_pack_index *m = NULL;
-@@ -65,6 +78,7 @@ struct multi_pack_index *load_multi_pack_index(const char *object_dir, int local
+@@ -64,6 +76,7 @@ struct multi_pack_index *load_multi_pack_index(const char *object_dir, int local
char *midx_name = get_midx_filename(object_dir);
uint32_t i;
const char *cur_pack_name;
@@ -43,7 +51,7 @@
fd = git_open(midx_name);
-@@ -114,58 +128,23 @@ struct multi_pack_index *load_multi_pack_index(const char *object_dir, int local
+@@ -113,58 +126,23 @@ struct multi_pack_index *load_multi_pack_index(const char *object_dir, int local
m->num_packs = get_be32(m->data + MIDX_BYTE_NUM_PACKS);
@@ -113,8 +121,16 @@
m->num_objects = ntohl(m->chunk_oid_fanout[255]);
m->pack_names = xcalloc(m->num_packs, sizeof(*m->pack_names));
+@@ -190,6 +168,7 @@ struct multi_pack_index *load_multi_pack_index(const char *object_dir, int local
+ cleanup_fail:
+ free(m);
+ free(midx_name);
++ free(cf);
+ if (midx_map)
+ munmap(midx_map, midx_size);
+ if (0 <= fd)
diff --git a/t/t5319-multi-pack-index.sh b/t/t5319-multi-pack-index.sh
-index 297de502a94..ad4e878b65b 100755
+index 297de502a94f..ad4e878b65b8 100755
--- a/t/t5319-multi-pack-index.sh
+++ b/t/t5319-multi-pack-index.sh
@@ -314,12 +314,12 @@ test_expect_success 'verify bad OID version' '