[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 <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
c157d37674
commit
d0db466326
11
show-diff.c
11
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;
|
||||
|
Loading…
Reference in New Issue
Block a user