convert strncpy to memcpy
strncpy is known to be a confusing function because of its termination semantics. These calls are all correct, but it takes some examination to see why. In particular, every one of them expects to copy up to the length limit, and then makes some arrangement for terminating the result. We can just use memcpy, along with noting explicitly how the result is terminated (if it is not already obvious). That should make it more clear to a reader that we are doing the right thing. 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
02e32b7deb
commit
eddda37144
@ -703,7 +703,7 @@ static struct atom_str *to_atom(const char *s, unsigned short len)
|
||||
|
||||
c = pool_alloc(sizeof(struct atom_str) + len + 1);
|
||||
c->str_len = len;
|
||||
strncpy(c->str_dat, s, len);
|
||||
memcpy(c->str_dat, s, len);
|
||||
c->str_dat[len] = 0;
|
||||
c->next_atom = atom_table[hc];
|
||||
atom_table[hc] = c;
|
||||
|
Reference in New Issue
Block a user