Commit Diff


commit - 6336b73f5e18e9020c14f6eed1b543ab7d098381
commit + 90356acc35c6a0f142cad85dbcc2d0a53017b509
blob - 7660d7a105dfbcf014a9314ab80be0b2621e4ee0
blob + 8bec1d8ddace1ce8aaaa86e55cb19104f268d275
--- lib/object.c
+++ lib/object.c
@@ -465,6 +465,7 @@ static const struct got_error *
 parse_tree_object(struct got_tree_object **tree, struct got_repository *repo,
     char *buf, size_t len)
 {
+	const struct got_error *err;
 	size_t remain = len;
 	int nentries;
 
@@ -478,7 +479,9 @@ parse_tree_object(struct got_tree_object **tree, struc
 		struct got_tree_entry *te;
 		size_t elen;
 
-		parse_tree_entry(&te, &elen, buf, remain);
+		err = parse_tree_entry(&te, &elen, buf, remain);
+		if (err)
+			return err;
 		(*tree)->nentries++;
 		SIMPLEQ_INSERT_TAIL(&(*tree)->entries, te, entry);
 		buf += elen;