[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 <[EMAIL PROTECTED]>
---

 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;

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to