summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2008-02-14 01:34:34 -0500
committerJunio C Hamano <gitster@pobox.com>2008-02-15 20:11:51 -0800
commite8b32e061006d1a62e464e7c2a5385ddd0cb4290 (patch)
tree53224018d84bf52ebe617d4d15647b1b0978299b
parentdf93e33c8bc8c79751a45d8005c6a92b18d4ba6d (diff)
downloadgit-e8b32e061006d1a62e464e7c2a5385ddd0cb4290.tar.gz
fast-import: check return value from unpack_entry()
If the tree object we have asked for is deltafied in the packfile and the delta did not apply correctly or was not able to be decompressed from the packfile then we can get back NULL instead of the tree data. This is (part of) the reason why read_sha1_file() can return NULL, so we need to also handle it the same way. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--fast-import.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fast-import.c b/fast-import.c
index a523b171e2..9b71ccc479 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -1204,6 +1204,8 @@ static void load_tree(struct tree_entry *root)
die("Not a tree: %s", sha1_to_hex(sha1));
t->delta_depth = myoe->depth;
buf = gfi_unpack_entry(myoe, &size);
+ if (!buf)
+ die("Can't load tree %s", sha1_to_hex(sha1));
} else {
enum object_type type;
buf = read_sha1_file(sha1, &type, &size);