Junio C Hamano <gitster@xxxxxxxxx> writes: > Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes: > >>> I'm still quite mystified as to why this is working on Linux and not >>> macOS, but I can only guess that compilers are just very advanced and >>> have somehow concluded that we would clearly never dereference a NULL >>> pointer, so they picked the only non-NULL value. >> >> Now that we know (due to Duy's excellent detective work[1]) that the >> trigger is files with names differing only in case on case-insensitive >> filesystems, the commit message can be updated appropriately. > > Thanks. Let me apply the following and do a 2.16.1, hopefully by > the end of day or mid tomorrow at the latest. Test to protect the > fix can come as a separate follow-up patch. I actually changed my mind and decided not to rush 2.16.1 with just this change. After all, even though it is better not to crash in such a problematic case, a "successful" clone of such a project on such a filesystem cannot be sanely used *anyway*, so in that sense the "fix" would stop "clone" from segfaulting but the resulting repository would still be "wrong" (e.g. "git status" immediately after clone would likely to say that the working tree is already dirty and missing one of the two paths, or something silly like that).