]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
net: lwip: fix get_udev_ipv4_info()
authorJerome Forissier <jerome.forissier@linaro.org>
Mon, 18 Nov 2024 14:31:25 +0000 (15:31 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 22 Nov 2024 20:37:49 +0000 (14:37 -0600)
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>
net/lwip/net-lwip.c

index 470217781a45648e0d1fc76f2f140d2629f1e01b..b863047f5989ba03761bfc61e2a0eb4c3d576ced 100644 (file)
@@ -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;