On Thu, 2016-04-07 at 11:50 -0700, Junio C Hamano wrote: > Junio C Hamano <gitster@xxxxxxxxx> writes: > > > "Tom G. Christensen" <tgc@xxxxxxxxxxxxxxx> writes: > > > > > The reason for the crash is simple, a null value was passed to > > > the 's' > > > format for the *printf family of functions. > > > ... > > > Passing a null value to the 's' format is explicitly documented > > > as > > > giving undefined results on Solaris, even on Solaris 11(2). > > > > Do you mean > > > > *printf("...%.*s...", ..., 0, NULL, ...) > > > > i.e. you saw a NULL passed only when we use %.*s with width=0? > > So, I've looked at places where we use "%.*s" with "prefix" nearby, > and it seems that this is the only place. > > The "prefix" being a NULL is a perfectly valid state throughout the > system and means a different thing than it being an empty string, so > it is valid for callers of prefix_path() and prefix_path_gently() to > pass prefix=NULL as long as they pass len=0. TIOLI: The code below does not reflect the "as long as they pass len=0" condition. Maybe add an assert for that? -- 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