From 32e49abef0334ad2fa260ba6264b19509f03a36a Mon Sep 17 00:00:00 2001 From: Xin LI Date: Mon, 31 Aug 2015 06:11:39 +0000 Subject: [PATCH] - uri is expected to be nul-terminated (strchr used later), so use strlcpy instead of strncpy. - unroll the other two cases of strncpy+\0 to strlcpy. MFC after: 2 weeks --- usr.bin/tftp/main.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/usr.bin/tftp/main.c b/usr.bin/tftp/main.c index 7db7818f7ebf..7d97a75d7f30 100644 --- a/usr.bin/tftp/main.c +++ b/usr.bin/tftp/main.c @@ -223,7 +223,7 @@ urihandling(char *URI) char line[MAXLINE]; int i; - strncpy(uri, URI, ARG_MAX); + strlcpy(uri, URI, ARG_MAX); host = uri + 7; if ((s = strchr(host, '/')) == NULL) { @@ -320,11 +320,10 @@ setpeer0(char *host, const char *lport) /* res->ai_addr <= sizeof(peeraddr) is guaranteed */ memcpy(&peer_sock, res->ai_addr, res->ai_addrlen); if (res->ai_canonname) { - (void) strncpy(hostname, res->ai_canonname, + (void) strlcpy(hostname, res->ai_canonname, sizeof(hostname)); } else - (void) strncpy(hostname, host, sizeof(hostname)); - hostname[sizeof(hostname)-1] = 0; + (void) strlcpy(hostname, host, sizeof(hostname)); connected = 1; }