[PATCH 2/6] show-diff.c: check unreadbale blob.
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:41:53
[PATCH 2/6] show-diff.c: check unreadbale blob.
This patch fixes show-diff to detect unreadable blob and warn
instead of going ahead and crashing.
To be applied on top of:
[PATCH 1/6] show-diff.c: clean up private buffer use.
Signed-off-by: Junio C Hamano <redacted>
---
show-diff.c | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletion(-)
--- a/show-diff.c
+++ b/show-diff.c@@ -71,6 +71,11 @@ static void show_diff_empty(struct cache 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;