Re: [PATCH] merge-file: correctly find files when called in subdir
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Oct 17, 2010, 16:05 UTC
- Message-ID
- <20101017160546.GD301@burratino>
- In-Reply-To
- <201010171239.13990.trast@student.ethz.ch>
Thomas Rast wrote:
Show 17 quoted lines
> I was ready to say "you're right" to Bert's suggestion. So maybe, for > the sake of foolproof-ness, we should do something like the patch > below? > > diff --git i/setup.c w/setup.c > index a3b76de..7c8906d 100644 > --- i/setup.c > +++ w/setup.c > @@ -55,7 +55,7 @@ > /* don't add prefix to absolute paths, but still replace '\' by '/' */ > if (is_absolute_path(arg)) > pfx_len = 0; > - else > + else if (pfx && *pfx) > memcpy(path, pfx, pfx_len); > strcpy(path + pfx_len, arg); > for (p = path + pfx_len; *p; p++)
Yes, please! But I'd write it as
if (pfx_len) memcpy(...)
and rely on the commit message to explain that this is about the !pfx case (so callers with pfx_len == 3, !pfx get a nice, quick segfault instead of heisenbugs from uninitialized data).