Junio C Hamano <gitster@xxxxxxxxx> a écrit :
char *mkpathdup(const char *fmt, ...)
{
char *path;
struct strbuf sb = STRBUF_INIT;
va_list args;
va_start(args, fmt);
strbuf_vaddf(&sb, fmt, args);
va_end(args);
path = sb.buf;
strbuf_release(&sb);
return xstrdup(cleanup_path(path));
}
Modulo
path = strbuf_detach(&sb, NULL);
that is more or less what I meant.
So now the mkpathdup() function looks like:
char *mkpathdup(const char *fmt, ...)
{
char *path;
struct strbuf sb = STRBUF_INIT;
va_list args;
va_start(args, fmt);
strbuf_vaddf(&sb, fmt, args);
va_end(args);
path = strbuf_detach(&sb, NULL);
strbuf_release(&sb);
return path;
}
This new variation of mkpathdup() function both fix the bug addressed
by commit 05bab3ea and avoid the use of bounded buffer.
--
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