From 1f8b93686f775588c2febb6d06bb6b9e2260255c Mon Sep 17 00:00:00 2001 From: Joan Lledó Date: Sat, 11 Aug 2018 18:17:10 +0200 Subject: lwip: Fix a buffer overflow and clear compiler warnings GCC 8 new warning -Wstringop-truncation detected some buffer overflows. * lwip/options.c (parse_opt): Fix the buffer overflow. * lwip/pfinet-ops.c (dev_ifconf): Likewise. --- lwip/options.c | 2 +- lwip/pfinet-ops.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lwip/options.c b/lwip/options.c index 6591ac52..d35b9f32 100644 --- a/lwip/options.c +++ b/lwip/options.c @@ -133,7 +133,7 @@ parse_opt (int opt, char *arg, struct argp_state *state) } in = h->curint; - strncpy (in->dev_name, arg, DEV_NAME_LEN); + strncpy (in->dev_name, arg, sizeof(in->dev_name)-1); break; case 'a': diff --git a/lwip/pfinet-ops.c b/lwip/pfinet-ops.c index 56b7dcd1..1af2a3fe 100644 --- a/lwip/pfinet-ops.c +++ b/lwip/pfinet-ops.c @@ -61,7 +61,7 @@ dev_ifconf (struct ifconf *ifc) memset (ifr, 0, sizeof (struct ifreq)); strncpy (ifr->ifr_name, netif_get_state (netif)->devname, - strlen (netif_get_state (netif)->devname) + 1); + sizeof (ifr->ifr_name)-1); saddr->sin_len = sizeof (struct sockaddr_in); saddr->sin_family = AF_INET; saddr->sin_addr.s_addr = netif_ip4_addr (netif)->addr; -- cgit v1.2.3