summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoan Lledó <joanlluislledo@gmail.com>2018-08-11 18:17:10 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-08-14 19:59:27 +0200
commit1f8b93686f775588c2febb6d06bb6b9e2260255c (patch)
tree97dcb62a725eceb8bee4ac3a2d61482916687e35
parent829970b29fa73cdfdc0a5e229411c2f31cf4a3fb (diff)
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.
-rw-r--r--lwip/options.c2
-rw-r--r--lwip/pfinet-ops.c2
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;