From: Junio C Hamano Date: Mon, 13 Feb 2012 06:42:02 +0000 (-0800) Subject: Merge branch 'mm/empty-loose-error-message' X-Git-Tag: v1.7.10-rc0~103 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/8c18a6f3fa0b1be98896a6c55c9e56595fbd3f41?hp=39ee1710c071f42741d4324dbb03e4618917734c Merge branch 'mm/empty-loose-error-message' * mm/empty-loose-error-message: fsck: give accurate error message on empty loose object files --- diff --git a/sha1_file.c b/sha1_file.c index 88f2151ff3..d9aa0e0a2c 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -1202,6 +1202,11 @@ void *map_sha1_file(const unsigned char *sha1, unsigned long *size) if (!fstat(fd, &st)) { *size = xsize_t(st.st_size); + if (!*size) { + /* mmap() is forbidden on empty files */ + error("object file %s is empty", sha1_file_name(sha1)); + return NULL; + } map = xmmap(NULL, *size, PROT_READ, MAP_PRIVATE, fd, 0); } close(fd);