summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-07-25 03:30:24 -0400
committerRich Felker <dalias@aerifal.cx>2013-07-25 03:30:24 -0400
commitf9dd79c8d191a8a5356d146c7ccf956677fea4e9 (patch)
tree92eaf4837f391bd1c6f0e085f65c0606eea669d3
parent1cd417bdf10366d63cc875e285c6418709a58c17 (diff)
downloadmusl-f9dd79c8d191a8a5356d146c7ccf956677fea4e9.tar.gz
fix undefined strcpy call in inet_ntop
source and dest arguments for strcpy cannot overlap, so memmove must be used here. the length is already known from the above loop.
-rw-r--r--src/network/inet_ntop.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/network/inet_ntop.c b/src/network/inet_ntop.c
index e9e2823f..ca333437 100644
--- a/src/network/inet_ntop.c
+++ b/src/network/inet_ntop.c
@@ -40,7 +40,7 @@ const char *inet_ntop(int af, const void *restrict a0, char *restrict s, socklen
}
if (max>2) {
buf[best] = buf[best+1] = ':';
- strcpy(buf+best+2, buf+best+max);
+ memmove(buf+best+2, buf+best+max, i-best-max+1);
}
if (strlen(buf) < l) {
strcpy(s, buf);