On Thu, 13 Mar 2008, Linus Torvalds wrote: > > Ok, I can reproduce this, I'm on it like a maggot on a two-week-dead baby > donkey. Ok, that was embarrassing. This should fix it. Spot the stupid stack corruption.. Linus --- unpack-trees.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/unpack-trees.c b/unpack-trees.c index be89d52..b62b054 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -8,6 +8,8 @@ #include "progress.h" #include "refs.h" +#define MAX_UNPACK_TREES 4 + static void add_entry(struct unpack_trees_options *o, struct cache_entry *ce, unsigned int set, unsigned int clear) { @@ -123,7 +125,7 @@ static int unpack_index_entry(struct cache_entry *ce, struct unpack_trees_option int traverse_trees_recursive(int n, unsigned long dirmask, unsigned long df_conflicts, struct name_entry *names, struct traverse_info *info) { int i; - struct tree_desc t[3]; + struct tree_desc t[MAX_UNPACK_TREES]; struct traverse_info newinfo; struct name_entry *p; @@ -327,7 +329,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options { static struct cache_entry *dfc; - if (len > 4) + if (len > MAX_UNPACK_TREES) die("unpack_trees takes at most four trees"); memset(&state, 0, sizeof(state)); state.base_dir = ""; -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html