Message ID | 20241118143125.2258888-1-jerome.forissier@linaro.org |
---|---|
State | Accepted |
Commit | 7d80e7368e1012355695e1fb580e5b20c8de03b9 |
Headers | show |
Series | net: lwip: fix get_udev_ipv4_info() | expand |
On Mon, 18 Nov 2024 at 16:31, Jerome Forissier <jerome.forissier@linaro.org> wrote: > > The local variables ipstr, maskstr and gwstr in static function > get_udev_ipv4_info() cannot be pointers to read-only data, since > they may be written to in case the device index is > 0. Therefore > make them char arrays allocated on the stack. > > Reported-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> > Reported-by: Adriano Cordova <adrianox@gmail.com> > Link: https://lists.denx.de/pipermail/u-boot/2024-November/572066.html > Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> > --- > net/lwip/net-lwip.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/net/lwip/net-lwip.c b/net/lwip/net-lwip.c > index 470217781a4..b863047f598 100644 > --- a/net/lwip/net-lwip.c > +++ b/net/lwip/net-lwip.c > @@ -91,9 +91,9 @@ struct netif *net_lwip_get_netif(void) > static int get_udev_ipv4_info(struct udevice *dev, ip4_addr_t *ip, > ip4_addr_t *mask, ip4_addr_t *gw) > { > - char *ipstr = "ipaddr\0\0"; > - char *maskstr = "netmask\0\0"; > - char *gwstr = "gatewayip\0\0"; > + char ipstr[] = "ipaddr\0\0"; > + char maskstr[] = "netmask\0\0"; > + char gwstr[] = "gatewayip\0\0"; > int idx = dev_seq(dev); > char *env; > > -- > 2.40.1 > Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
On Mon, Nov 18, 2024 at 03:31:25PM +0100, Jerome Forissier wrote: > The local variables ipstr, maskstr and gwstr in static function > get_udev_ipv4_info() cannot be pointers to read-only data, since > they may be written to in case the device index is > 0. Therefore > make them char arrays allocated on the stack. > > Reported-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> > Reported-by: Adriano Cordova <adrianox@gmail.com> > Link: https://lists.denx.de/pipermail/u-boot/2024-November/572066.html > Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> > Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Applied to u-boot/master, thanks!
diff --git a/net/lwip/net-lwip.c b/net/lwip/net-lwip.c index 470217781a4..b863047f598 100644 --- a/net/lwip/net-lwip.c +++ b/net/lwip/net-lwip.c @@ -91,9 +91,9 @@ struct netif *net_lwip_get_netif(void) static int get_udev_ipv4_info(struct udevice *dev, ip4_addr_t *ip, ip4_addr_t *mask, ip4_addr_t *gw) { - char *ipstr = "ipaddr\0\0"; - char *maskstr = "netmask\0\0"; - char *gwstr = "gatewayip\0\0"; + char ipstr[] = "ipaddr\0\0"; + char maskstr[] = "netmask\0\0"; + char gwstr[] = "gatewayip\0\0"; int idx = dev_seq(dev); char *env;
The local variables ipstr, maskstr and gwstr in static function get_udev_ipv4_info() cannot be pointers to read-only data, since they may be written to in case the device index is > 0. Therefore make them char arrays allocated on the stack. Reported-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reported-by: Adriano Cordova <adrianox@gmail.com> Link: https://lists.denx.de/pipermail/u-boot/2024-November/572066.html Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> --- net/lwip/net-lwip.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)