diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2008-02-14 01:34:34 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-02-15 20:11:51 -0800 |
commit | e8b32e061006d1a62e464e7c2a5385ddd0cb4290 (patch) | |
tree | 53224018d84bf52ebe617d4d15647b1b0978299b | |
parent | df93e33c8bc8c79751a45d8005c6a92b18d4ba6d (diff) | |
download | git-e8b32e061006d1a62e464e7c2a5385ddd0cb4290.tar.gz git-e8b32e061006d1a62e464e7c2a5385ddd0cb4290.tar.xz |
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.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fast-import.c b/fast-import.c index a523b171e..9b71ccc47 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); |