On Thu, Jan 30, 2020 at 04:52:19AM -0500, Jeff King wrote: > We take a "dst" buffer to write into, but there's no matching "len" > parameter. The hidden assumption is that normalizing always makes things > smaller, so we're OK as long as "dst" is at least as big as "src". Let's > document that explicitly. > > Signed-off-by: Jeff King <peff@xxxxxxxx> > --- > path.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/path.c b/path.c > index a76eec8b96..88cf593007 100644 > --- a/path.c > +++ b/path.c > @@ -1077,6 +1077,8 @@ const char *remove_leading_path(const char *in, const char *prefix) > > /* > * It is okay if dst == src, but they should not overlap otherwise. > + * The "dst" buffer must be at least as long as "src"; normalizing may shrink > + * the size of the path, but will never grow it. Thanks for documenting this. It's quite helpful, and hopefully should prevent bugs like the one you alluded to in your cover letter from getting in in the future. > * > * Performs the following normalizations on src, storing the result in dst: > * - Ensures that components are separated by '/' (Windows only) > -- > 2.25.0.515.gaba5347bc6 This looks obviously good to me. Thanks, Taylor