From a37064cb2e482739908e76d6a53914301c8bb8ee Mon Sep 17 00:00:00 2001 From: Jerome Forissier Date: Tue, 26 Nov 2024 15:45:06 +0100 Subject: [PATCH] net: lwip: wget: fix legacy syntax Commit 356011f7ac25 ("lwip: fix code style issues") has inadvertently broken the support for the legacy syntax: => wget 192.168.0.16:test.bin invalid uri, no file path Invalid URL. Use http(s):// The reason is two calls to strncpy() were replaced by strlcpy() without paying attention to the fact that they are not equivalent in the present case. Since we are using a character counter (n) and since we do not depend on having a properly null-terminated string at each step in the parsing, strlcpy() is not justified and strncpy() is the right tool for the job. So use it again. Reported-by: Tom Rini Signed-off-by: Jerome Forissier --- net/lwip/wget.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/lwip/wget.c b/net/lwip/wget.c index 062aa7c44f..5501ffdd00 100644 --- a/net/lwip/wget.c +++ b/net/lwip/wget.c @@ -161,7 +161,7 @@ static int parse_legacy_arg(char *arg, char *nurl, size_t rem) if (rem < n) return -1; - strlcpy(p, server, n); + strncpy(p, server, n); p += n; rem -= n; if (rem < 1) @@ -172,7 +172,7 @@ static int parse_legacy_arg(char *arg, char *nurl, size_t rem) n = strlen(path); if (rem < n) return -1; - strlcpy(p, path, n); + strncpy(p, path, n); p += n; rem -= n; if (rem < 1) -- 2.39.5