mirror of
https://github.com/git/git
synced 2024-10-30 04:01:21 +00:00
pack-bitmap: make bitmap header handling hash agnostic
Increase the checksum field in struct bitmap_disk_header to be GIT_MAX_RAWSZ bytes in length and ensure that we hash the proper number of bytes out when computing the bitmap checksum. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
5a8643eff1
commit
0f4d6cada8
3 changed files with 3 additions and 3 deletions
|
@ -535,7 +535,7 @@ void bitmap_writer_finish(struct pack_idx_entry **index,
|
||||||
header.entry_count = htonl(writer.selected_nr);
|
header.entry_count = htonl(writer.selected_nr);
|
||||||
hashcpy(header.checksum, writer.pack_checksum);
|
hashcpy(header.checksum, writer.pack_checksum);
|
||||||
|
|
||||||
hashwrite(f, &header, sizeof(header));
|
hashwrite(f, &header, sizeof(header) - GIT_MAX_RAWSZ + the_hash_algo->rawsz);
|
||||||
dump_bitmap(f, writer.commits);
|
dump_bitmap(f, writer.commits);
|
||||||
dump_bitmap(f, writer.trees);
|
dump_bitmap(f, writer.trees);
|
||||||
dump_bitmap(f, writer.blobs);
|
dump_bitmap(f, writer.blobs);
|
||||||
|
|
|
@ -163,7 +163,7 @@ static int load_bitmap_header(struct bitmap_index *index)
|
||||||
}
|
}
|
||||||
|
|
||||||
index->entry_count = ntohl(header->entry_count);
|
index->entry_count = ntohl(header->entry_count);
|
||||||
index->map_pos += sizeof(*header);
|
index->map_pos += sizeof(*header) - GIT_MAX_RAWSZ + the_hash_algo->rawsz;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ struct bitmap_disk_header {
|
||||||
uint16_t version;
|
uint16_t version;
|
||||||
uint16_t options;
|
uint16_t options;
|
||||||
uint32_t entry_count;
|
uint32_t entry_count;
|
||||||
unsigned char checksum[20];
|
unsigned char checksum[GIT_MAX_RAWSZ];
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char BITMAP_IDX_SIGNATURE[] = {'B', 'I', 'T', 'M'};
|
static const char BITMAP_IDX_SIGNATURE[] = {'B', 'I', 'T', 'M'};
|
||||||
|
|
Loading…
Reference in a new issue