replace trivial malloc + sprintf / strcpy calls with xstrfmt
It's a common pattern to do: foo = xmalloc(strlen(one) + strlen(two) + 1 + 1); sprintf(foo, "%s %s", one, two); (or possibly some variant with strcpy()s or a more complicated length computation). We can switch these to use xstrfmt, which is shorter, involves less error-prone manual computation, and removes many sprintf and strcpy calls which make it harder to audit the code for real buffer overflows. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
b7115a350b
commit
75faa45ae0
7
remote.c
7
remote.c
@ -65,7 +65,6 @@ static int valid_remote(const struct remote *remote)
|
||||
static const char *alias_url(const char *url, struct rewrites *r)
|
||||
{
|
||||
int i, j;
|
||||
char *ret;
|
||||
struct counted_string *longest;
|
||||
int longest_i;
|
||||
|
||||
@ -86,11 +85,7 @@ static const char *alias_url(const char *url, struct rewrites *r)
|
||||
if (!longest)
|
||||
return url;
|
||||
|
||||
ret = xmalloc(r->rewrite[longest_i]->baselen +
|
||||
(strlen(url) - longest->len) + 1);
|
||||
strcpy(ret, r->rewrite[longest_i]->base);
|
||||
strcpy(ret + r->rewrite[longest_i]->baselen, url + longest->len);
|
||||
return ret;
|
||||
return xstrfmt("%s%s", r->rewrite[longest_i]->base, url + longest->len);
|
||||
}
|
||||
|
||||
static void add_push_refspec(struct remote *remote, const char *ref)
|
||||
|
Reference in New Issue
Block a user