Commit 13fcf1bf305bb86f5bbe5da661f8811846b79d61

Stefan Sperling 2022-05-18T07:44:30

make got_privsep_recv_tree() reject trees with less than zero entries

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diff --git a/lib/privsep.c b/lib/privsep.c
index 6618dea..81911e2 100644
--- a/lib/privsep.c
+++ b/lib/privsep.c
@@ -1617,6 +1617,10 @@ got_privsep_recv_tree(struct got_tree_object **tree, struct imsgbuf *ibuf)
 				break;
 			}
 			itree = imsg.data;
+			if (itree->nentries < 0) {
+				err = got_error(GOT_ERR_PRIVSEP_LEN);
+				break;
+			}
 			*tree = malloc(sizeof(**tree));
 			if (*tree == NULL) {
 				err = got_error_from_errno("malloc");