Browse Source

Merge fixes up to GIT 1.1.4

maint
Junio C Hamano 19 years ago
parent
commit
949964c4af
  1. 3
      fetch-pack.c
  2. 16
      sha1_file.c

3
fetch-pack.c

@ -262,9 +262,6 @@ static void filter_refs(struct ref **refs, int nr_match, char **match)
{ {
struct ref *prev, *current, *next; struct ref *prev, *current, *next;


if (!nr_match)
return;

for (prev = NULL, current = *refs; current; current = next) { for (prev = NULL, current = *refs; current; current = next) {
next = current->next; next = current->next;
if ((!memcmp(current->name, "refs/", 5) && if ((!memcmp(current->name, "refs/", 5) &&

16
sha1_file.c

@ -349,16 +349,12 @@ struct packed_git *packed_git;
static int check_packed_git_idx(const char *path, unsigned long *idx_size_, static int check_packed_git_idx(const char *path, unsigned long *idx_size_,
void **idx_map_) void **idx_map_)
{ {
SHA_CTX ctx;
unsigned char sha1[20];
void *idx_map; void *idx_map;
unsigned int *index; unsigned int *index;
unsigned long idx_size; unsigned long idx_size;
int nr, i; int nr, i;
int fd; int fd = open(path, O_RDONLY);
struct stat st; struct stat st;

fd = open(path, O_RDONLY);
if (fd < 0) if (fd < 0)
return -1; return -1;
if (fstat(fd, &st)) { if (fstat(fd, &st)) {
@ -396,16 +392,6 @@ static int check_packed_git_idx(const char *path, unsigned long *idx_size_,
if (idx_size != 4*256 + nr * 24 + 20 + 20) if (idx_size != 4*256 + nr * 24 + 20 + 20)
return error("wrong index file size"); return error("wrong index file size");


/*
* File checksum.
*/
SHA1_Init(&ctx);
SHA1_Update(&ctx, idx_map, idx_size-20);
SHA1_Final(sha1, &ctx);

if (memcmp(sha1, idx_map + idx_size - 20, 20))
return error("index checksum mismatch");

return 0; return 0;
} }



Loading…
Cancel
Save