From 36e2c22493c0f2357aec2ccf4ed37c2eb676bc56 Mon Sep 17 00:00:00 2001 From: Thomas Markwalder Date: Mon, 25 Aug 2014 13:22:29 -0400 Subject: [master] Corrects high impact issues reported by Coverity. Merges in rt36712 --- common/lpf.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'common/lpf.c') diff --git a/common/lpf.c b/common/lpf.c index ba052063..a63d61ba 100644 --- a/common/lpf.c +++ b/common/lpf.c @@ -95,6 +95,7 @@ int if_register_lpf (info) memset (&sa, 0, sizeof sa); sa.sa_family = AF_PACKET; strncpy (sa.sa_data, (const char *)info -> ifp, sizeof sa.sa_data); + sa.sa_data[sizeof(sa.sa_data)-1] = '\0'; if (bind (sock, &sa, sizeof sa)) { if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT || errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT || @@ -107,6 +108,7 @@ int if_register_lpf (info) log_fatal ("configuration!"); } log_fatal ("Bind socket to interface: %m"); + } get_hw_addr(info->name, &info->hw_address); @@ -328,6 +330,7 @@ ssize_t send_packet (interface, packet, raw, len, from, to, hto) sa.spkt_family = AF_PACKET; strncpy ((char *)sa.spkt_device, (const char *)interface -> ifp, sizeof sa.spkt_device); + sa.spkt_device[sizeof(sa.spkt_device) - 1] = '\0'; sa.spkt_protocol = htons(ETH_P_IP); result = sendto (interface -> wfdesc, -- cgit v1.2.1