threads / patch / 12094

patch, 5 partsfast-import: check return value from unpack_entry()

Subject: [PATCH 1/5] fast-import: check return value from unpack_entry()

## tl;dr

One message between Feb 14, 2008 and Feb 14, 2008. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Shawn O. Pearce· Feb 14, 2008, 06:34 UTC · lore

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>
---
 fast-import.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
Show changes to fast-import.c +2 −0
diff --git a/fast-import.c b/fast-import.c
index a523b17..9b71ccc 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);
-- 
1.5.4.1.1309.g833c2

← back to recent threads