diff options
-rw-r--r-- | builtin-read-tree.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/builtin-read-tree.c b/builtin-read-tree.c index 1967d100f2..f6764b9739 100644 --- a/builtin-read-tree.c +++ b/builtin-read-tree.c @@ -13,8 +13,9 @@ #include "dir.h" #include "builtin.h" +#define MAX_TREES 4 static int nr_trees; -static struct tree *trees[4]; +static struct tree *trees[MAX_TREES]; static int list_tree(unsigned char *sha1) { @@ -96,7 +97,7 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix) { int i, newfd, stage = 0; unsigned char sha1[20]; - struct tree_desc t[3]; + struct tree_desc t[MAX_TREES]; struct unpack_trees_options opts; memset(&opts, 0, sizeof(opts)); @@ -263,6 +264,9 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix) opts.head_idx = 1; } + if (MAX_TREES < nr_trees) + die("I cannot read more than %d trees", MAX_TREES); + for (i = 0; i < nr_trees; i++) { struct tree *tree = trees[i]; parse_tree(tree); |