rerere: replace strcpy with xsnprintf
This shouldn't overflow, as we are copying a sha1 hex into a 41-byte buffer. But it does not hurt to use a bound-checking function, which protects us and makes auditing for overflows easier. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
15ed07d532
commit
f58316db0e
4
rerere.c
4
rerere.c
@ -50,7 +50,7 @@ static int has_rerere_resolution(const struct rerere_id *id)
|
|||||||
static struct rerere_id *new_rerere_id_hex(char *hex)
|
static struct rerere_id *new_rerere_id_hex(char *hex)
|
||||||
{
|
{
|
||||||
struct rerere_id *id = xmalloc(sizeof(*id));
|
struct rerere_id *id = xmalloc(sizeof(*id));
|
||||||
strcpy(id->hex, hex);
|
xsnprintf(id->hex, sizeof(id->hex), "%s", hex);
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -900,7 +900,7 @@ int rerere_forget(struct pathspec *pathspec)
|
|||||||
static struct rerere_id *dirname_to_id(const char *name)
|
static struct rerere_id *dirname_to_id(const char *name)
|
||||||
{
|
{
|
||||||
static struct rerere_id id;
|
static struct rerere_id id;
|
||||||
strcpy(id.hex, name);
|
xsnprintf(id.hex, sizeof(id.hex), "%s", name);
|
||||||
return &id;
|
return &id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user