On 11/28/24 15:36, Adriano Cordova wrote:
>     Commit 356011f ("lwip: fix code style issues") changed two strncpy calls 
> to
>     strlcpy calls in the function net/lwip/wget.c:parse_legacy_args, but this
>     breaks the correct parsing of a legacy url. strlcpy expects the size of 
> the
>     destination buffer, not of the amount of bytes to be copied, and it will 
> stop
>     when the buffer ends or when a null is found, but here we want to copy a
>     specific amount of bytes and there is no null at the end of that specific
>     amount of bytes. The change is reverted here. Optionally, all the calls to
>     strlcpy(,,n) could be changed to strlcpy(,,n+1).
>     Fixes: 356011f ("lwip: fix code style issues")
> 
> Signed-off-by: Adriano Cordova <[email protected]>
> ---
>  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 83ae8a6d15..af48d741a4 100644
> --- a/net/lwip/wget.c
> +++ b/net/lwip/wget.c
> @@ -180,7 +180,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)
> @@ -191,7 +191,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)

I already sent the same fix as [1].

[1] https://lists.denx.de/pipermail/u-boot/2024-November/573054.html

Thanks,

-- 
Jerome

Reply via email to