From f9dd79c8d191a8a5356d146c7ccf956677fea4e9 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 25 Jul 2013 03:30:24 -0400 Subject: [PATCH] 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. --- src/network/inet_ntop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); -- 2.25.1