From: Junio C Hamano Date: Mon, 18 Apr 2005 22:07:24 +0000 (-0700) Subject: [PATCH] show-diff.c: check unreadbale blob. X-Git-Tag: v0.99~824 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=d0db466326c32ca4b3faa849a81fab7d60615c6f;p=git.git [PATCH] show-diff.c: check unreadbale blob. This patch fixes show-diff to detect unreadable blob and warn instead of going ahead and crashing. Signed-off-by: Junio C Hamano Signed-off-by: Linus Torvalds --- diff --git a/show-diff.c b/show-diff.c index 2bd789c26..dacdd3639 100644 --- a/show-diff.c +++ b/show-diff.c @@ -71,6 +71,11 @@ static void show_diff_empty(struct cache_entry *ce) unsigned char type[20], *p, *end; old = read_sha1_file(ce->sha1, type, &size); + if (! old) { + error("unable to read blob object for %s (%s)", ce->name, + sha1_to_hex(ce->sha1)); + return; + } if (size > 0) { int startline = 1; int c = 0; @@ -195,7 +200,11 @@ int main(int argc, char **argv) continue; old = read_sha1_file(ce->sha1, type, &size); - show_differences(ce->name, old, size); + if (! old) + error("unable to read blob object for %s (%s)", + ce->name, sha1_to_hex(ce->sha1)); + else + show_differences(ce->name, old, size); free(old); } return 0;