Patches from Dave Jones and Ingo Molnar, but since I don't have any
infrastructure in place to use the old patch applicator scripts I
am trying to build up, I ended up fixing the thing by hand instead.
Credit where credit is due, though. Nice to see that people are
taking a look at the project even in this early stage.
unsigned int st_size;
unsigned char sha1[20];
unsigned short namelen;
- unsigned char name[0];
+ char name[0];
};
const char *sha1_file_directory;
size -= len + 20;
mark_needs_sha1(sha1, "blob", file_sha1);
}
+ return 0;
}
static int fsck_commit(unsigned char *sha1, void *data, unsigned long size)
mark_needs_sha1(sha1, "commit", parent_sha1);
data += 7 + 40 + 1; /* "parent " + <hex sha1> + '\n' */
}
+ return 0;
}
static int fsck_entry(unsigned char *sha1, char *tag, void *data, unsigned long size)
size = 0; // avoid gcc warning
map = (void *)-1;
if (!fstat(fd, &st)) {
- map = NULL;
size = st.st_size;
errno = EINVAL;
- if (size > sizeof(struct cache_header))
+ if (size >= sizeof(struct cache_header))
map = mmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, 0);
}
close(fd);