[PATCH] lwip: wget: process legacy url with strncpy
Adriano Córdova
adrianox at gmail.com
Thu Nov 28 15:58:53 CET 2024
Ah ok, thanks for pointing it out. I think it is not in the next branch.
Il gio 28 nov 2024, 11:56 Jerome Forissier <jerome.forissier at linaro.org> ha
scritto:
>
>
> 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 <adrianox at gmail.com>
> > ---
> > 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
>
More information about the U-Boot
mailing list