Code

pack-objects: check return value from read_sha1_file()
authorJunio C Hamano <gitster@pobox.com>
Sat, 25 Aug 2007 08:26:47 +0000 (01:26 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sat, 25 Aug 2007 15:33:47 +0000 (08:33 -0700)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-pack-objects.c

index 77481df5d6b53bc88b1a36a9461baab53026fe2d..9b3ef94c4cea6eba9d79feb5c6647deb2e149daa 100644 (file)
@@ -1356,6 +1356,9 @@ static int try_delta(struct unpacked *trg, struct unpacked *src,
        /* Load data if not already done */
        if (!trg->data) {
                trg->data = read_sha1_file(trg_entry->idx.sha1, &type, &sz);
+               if (!trg->data)
+                       die("object %s cannot be read",
+                           sha1_to_hex(trg_entry->idx.sha1));
                if (sz != trg_size)
                        die("object %s inconsistent object length (%lu vs %lu)",
                            sha1_to_hex(trg_entry->idx.sha1), sz, trg_size);
@@ -1363,6 +1366,9 @@ static int try_delta(struct unpacked *trg, struct unpacked *src,
        }
        if (!src->data) {
                src->data = read_sha1_file(src_entry->idx.sha1, &type, &sz);
+               if (!src->data)
+                       die("object %s cannot be read",
+                           sha1_to_hex(src_entry->idx.sha1));
                if (sz != src_size)
                        die("object %s inconsistent object length (%lu vs %lu)",
                            sha1_to_hex(src_entry->idx.sha1), sz, src_size);