Bert Wesarg wrote: > On Sat, Oct 16, 2010 at 13:33, Thomas Rast <trast@xxxxxxxxxxxxxxx> wrote: >> --- a/builtin/merge-file.c >> +++ b/builtin/merge-file.c >> @@ -65,10 +66,18 @@ int cmd_merge_file(int argc, const char **argv, const char *prefix) [...] >> + Â Â Â Â Â Â Â if (prefix) >> + Â Â Â Â Â Â Â Â Â Â Â name = prefix_filename(prefix, prefixlen, argv[i]); >> + Â Â Â Â Â Â Â else >> + Â Â Â Â Â Â Â Â Â Â Â name = argv[i]; > > I think you can safe this condition, if you set prefixlen to 0. I'm not so sure. On Windows, prefix_filename() starts with char *p; /* don't add prefix to absolute paths, but still replace '\' by '/' */ if (is_absolute_path(arg)) pfx_len = 0; else memcpy(path, pfx, pfx_len); and memcpy() has undefined behavior when pfx is NULL (even with pfx_len of 0; see WG14/N1256: 7.21.1 "String function conventions"). Even if the win32api memcpy does the right thing with NULL pfx, I cannot trust GCC when they are given that kind of license. :) -- 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