Test t2021-checkout-overwrite.sh reveals a segfault in 'git add' on a case-insensitive file system when git is compiled with XMALLOC_POISON defined. The reason is that 2548183b (fix phantom untracked files when core.ignorecase is set) added a new member dir_next to struct cache_entry, but forgot to initialize it in all cases. Signed-off-by: Johannes Sixt <j6t@xxxxxxxx> --- You can also insert git config core.ignorecase true before the first test script in t2021 to see the segfault. I actually found the crash with an MSVC debug build, which has something like XMALLOC_POISON built-in. name-hash.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/name-hash.c b/name-hash.c index 225dd76..d8d25c2 100644 --- a/name-hash.c +++ b/name-hash.c @@ -74,7 +74,7 @@ static void hash_index_entry(struct index_state *istate, struct cache_entry *ce) if (ce->ce_flags & CE_HASHED) return; ce->ce_flags |= CE_HASHED; - ce->next = NULL; + ce->next = ce->dir_next = NULL; hash = hash_name(ce->name, ce_namelen(ce)); pos = insert_hash(hash, ce, &istate->name_hash); if (pos) { -- 1.7.7.1.586.ga0958b -- 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