On Thu, Apr 07, 2016 at 12:37:53PM -0700, Junio C Hamano wrote: > -- >8 -- > Subject: setup.c: do not feed NULL to "%.*s" even with the precision 0 > > A recent update 75faa45a (replace trivial malloc + sprintf / strcpy > calls with xstrfmt, 2015-09-24) rewrote > > prepare an empty buffer > if (len) > append the first len bytes of "prefix" to the buffer > append "path" to the buffer > > that computed "path", optionally prefixed by "prefix", into > > xstrfmt("%.*s%s", len, prefix, path); > > However, passing a NULL pointer to the printf(3) family of functions > to format it with %s conversion, even with the precision 0, i.e. > > xstrfmt("%.*s", 0, NULL) > > yields undefined results, at least on some platforms. > > Avoid this problem by substituting prefix with "" when len==0, as > prefix can legally be NULL in that case. This would mimick the > intent of the original code better. > > Reported-by: "Tom G. Christensen" <t...@jupiterrise.com> > Helped-by: Jeff King <p...@peff.net> > Signed-off-by: Junio C Hamano <gits...@pobox.com> > ---
Nicely explained. Acked-by: Jeff King <p...@peff.net> Thanks. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html