|
|
468dcfe |
From 22301de7ea5c313eb5ec283ef615e36928ce584b Mon Sep 17 00:00:00 2001
|
|
|
468dcfe |
From: Arun S A G <sagarun@gmail.com>
|
|
|
468dcfe |
Date: Mon, 10 Sep 2018 08:37:41 -0700
|
|
|
468dcfe |
Subject: [PATCH] ArpON gcc 8 fixes
|
|
|
468dcfe |
|
|
|
468dcfe |
---
|
|
|
468dcfe |
src/arpca.c | 3 ++-
|
|
|
468dcfe |
src/darpi.c | 12 ++++++++----
|
|
|
468dcfe |
src/harpi.c | 12 ++++++++----
|
|
|
468dcfe |
src/sarpi.c | 8 ++++++--
|
|
|
468dcfe |
src/sig.c | 2 +-
|
|
|
468dcfe |
5 files changed, 25 insertions(+), 12 deletions(-)
|
|
|
468dcfe |
|
|
|
468dcfe |
diff --git a/src/arpca.c b/src/arpca.c
|
|
|
468dcfe |
index 0160c7e..fe1afab 100644
|
|
|
468dcfe |
--- a/src/arpca.c
|
|
|
468dcfe |
+++ b/src/arpca.c
|
|
|
468dcfe |
@@ -436,7 +436,8 @@ arpca_add(const struct arp_entry *entry)
|
|
|
468dcfe |
interface = opt_getinterface();
|
|
|
468dcfe |
|
|
|
468dcfe |
/* Copy the interface in the ARP request structure. */
|
|
|
468dcfe |
- strncpy(ar.arp_dev, interface, IF_NAMESIZE);
|
|
|
468dcfe |
+ strncpy(ar.arp_dev, interface, IF_NAMESIZE -1);
|
|
|
468dcfe |
+ ar.arp_dev[IF_NAMESIZE -1] = '\0';
|
|
|
468dcfe |
|
|
|
468dcfe |
/*
|
|
|
468dcfe |
* Overwrite the IP entry in the ARP cache
|
|
|
468dcfe |
diff --git a/src/darpi.c b/src/darpi.c
|
|
|
468dcfe |
index f4ad134..b3a901c 100644
|
|
|
468dcfe |
--- a/src/darpi.c
|
|
|
468dcfe |
+++ b/src/darpi.c
|
|
|
468dcfe |
@@ -66,17 +66,21 @@ darpi_handler(int op, struct ether_addr *macsrc, struct in_addr *ipsrc,
|
|
|
468dcfe |
interface = opt_getinterface();
|
|
|
468dcfe |
|
|
|
468dcfe |
/* MAC src addr network byte order to string. */
|
|
|
468dcfe |
- strncpy(smacsrc, ether_ntoa(macsrc), INTF_ETHERSTRLEN);
|
|
|
468dcfe |
+ strncpy(smacsrc, ether_ntoa(macsrc), INTF_ETHERSTRLEN-1);
|
|
|
468dcfe |
+ smacsrc[INTF_ETHERSTRLEN-1] = '\0';
|
|
|
468dcfe |
|
|
|
468dcfe |
/* IP src addr network byte order to string. */
|
|
|
468dcfe |
- strncpy(sipsrc, inet_ntoa(*ipsrc), INET_ADDRSTRLEN);
|
|
|
468dcfe |
+ strncpy(sipsrc, inet_ntoa(*ipsrc), INET_ADDRSTRLEN-1);
|
|
|
468dcfe |
+ sipsrc[INET_ADDRSTRLEN-1] = '\0';
|
|
|
468dcfe |
|
|
|
468dcfe |
#ifndef NDEBUG
|
|
|
468dcfe |
/* MAC dst addr network byte order to string. */
|
|
|
468dcfe |
- strncpy(smacdst, ether_ntoa(macdst), INTF_ETHERSTRLEN);
|
|
|
468dcfe |
+ strncpy(smacdst, ether_ntoa(macdst), INTF_ETHERSTRLEN-1);
|
|
|
468dcfe |
+ smacdst[INTF_ETHERSTRLEN-1] = '\0';
|
|
|
468dcfe |
|
|
|
468dcfe |
/* IP dst addr network byte order to string. */
|
|
|
468dcfe |
- strncpy(sipdst, inet_ntoa(*ipdst), INET_ADDRSTRLEN);
|
|
|
468dcfe |
+ strncpy(sipdst, inet_ntoa(*ipdst), INET_ADDRSTRLEN-1);
|
|
|
468dcfe |
+ sipdst[INET_ADDRSTRLEN-1] = '\0';
|
|
|
468dcfe |
#endif /* !NDEBUG */
|
|
|
468dcfe |
|
|
|
468dcfe |
/* Check the type of the ARP packet read. */
|
|
|
468dcfe |
diff --git a/src/harpi.c b/src/harpi.c
|
|
|
468dcfe |
index d981715..66b1139 100644
|
|
|
468dcfe |
--- a/src/harpi.c
|
|
|
468dcfe |
+++ b/src/harpi.c
|
|
|
468dcfe |
@@ -68,17 +68,21 @@ harpi_handler(int op, struct ether_addr *macsrc, struct in_addr *ipsrc,
|
|
|
468dcfe |
interface = opt_getinterface();
|
|
|
468dcfe |
|
|
|
468dcfe |
/* MAC src addr network byte order to string. */
|
|
|
468dcfe |
- strncpy(smacsrc, ether_ntoa(macsrc), INTF_ETHERSTRLEN);
|
|
|
468dcfe |
+ strncpy(smacsrc, ether_ntoa(macsrc), INTF_ETHERSTRLEN-1);
|
|
|
468dcfe |
+ smacsrc[INTF_ETHERSTRLEN-1] = '\0';
|
|
|
468dcfe |
|
|
|
468dcfe |
/* IP src addr network byte order to string. */
|
|
|
468dcfe |
- strncpy(sipsrc, inet_ntoa(*ipsrc), INET_ADDRSTRLEN);
|
|
|
468dcfe |
+ strncpy(sipsrc, inet_ntoa(*ipsrc), INET_ADDRSTRLEN-1);
|
|
|
468dcfe |
+ sipsrc[INET_ADDRSTRLEN-1] = '\0';
|
|
|
468dcfe |
|
|
|
468dcfe |
#ifndef NDEBUG
|
|
|
468dcfe |
/* MAC dst addr network byte order to string. */
|
|
|
468dcfe |
- strncpy(smacdst, ether_ntoa(macdst), INTF_ETHERSTRLEN);
|
|
|
468dcfe |
+ strncpy(smacdst, ether_ntoa(macdst), INTF_ETHERSTRLEN-1);
|
|
|
468dcfe |
+ smacdst[INTF_ETHERSTRLEN-1] = '\0';
|
|
|
468dcfe |
|
|
|
468dcfe |
/* IP dst addr network byte order to string. */
|
|
|
468dcfe |
- strncpy(sipdst, inet_ntoa(*ipdst), INET_ADDRSTRLEN);
|
|
|
468dcfe |
+ strncpy(sipdst, inet_ntoa(*ipdst), INET_ADDRSTRLEN-1);
|
|
|
468dcfe |
+ sipdst[INET_ADDRSTRLEN-1] = '\0';
|
|
|
468dcfe |
#endif /* !NDEBUG */
|
|
|
468dcfe |
|
|
|
468dcfe |
/* Check the type of the ARP packet read. */
|
|
|
468dcfe |
diff --git a/src/sarpi.c b/src/sarpi.c
|
|
|
468dcfe |
index b90104b..8961255 100644
|
|
|
468dcfe |
--- a/src/sarpi.c
|
|
|
468dcfe |
+++ b/src/sarpi.c
|
|
|
468dcfe |
@@ -67,17 +67,21 @@ sarpi_handler(int op, struct ether_addr *macsrc, struct in_addr *ipsrc,
|
|
|
468dcfe |
interface = opt_getinterface();
|
|
|
468dcfe |
|
|
|
468dcfe |
/* MAC src addr network byte order to string. */
|
|
|
468dcfe |
- strncpy(smacsrc, ether_ntoa(macsrc), INTF_ETHERSTRLEN);
|
|
|
468dcfe |
+ strncpy(smacsrc, ether_ntoa(macsrc), INTF_ETHERSTRLEN-1);
|
|
|
468dcfe |
+ smacsrc[INTF_ETHERSTRLEN-1] = '\0';
|
|
|
468dcfe |
|
|
|
468dcfe |
/* IP src addr network byte order to string. */
|
|
|
468dcfe |
- strncpy(sipsrc, inet_ntoa(*ipsrc), INET_ADDRSTRLEN);
|
|
|
468dcfe |
+ strncpy(sipsrc, inet_ntoa(*ipsrc), INET_ADDRSTRLEN-1);
|
|
|
468dcfe |
+ sipsrc[INET_ADDRSTRLEN-1] = '\0';
|
|
|
468dcfe |
|
|
|
468dcfe |
#ifndef NDEBUG
|
|
|
468dcfe |
/* MAC dst addr network byte order to string. */
|
|
|
468dcfe |
strncpy(smacdst, ether_ntoa(macdst), INTF_ETHERSTRLEN);
|
|
|
468dcfe |
+ smacdst[INTF_ETHERSTRLEN-1] = '\0';
|
|
|
468dcfe |
|
|
|
468dcfe |
/* IP dst addr network byte order to string. */
|
|
|
468dcfe |
strncpy(sipdst, inet_ntoa(*ipdst), INET_ADDRSTRLEN);
|
|
|
468dcfe |
+ sipdst[INET_ADDRSTRLEN-1] = '\0';
|
|
|
468dcfe |
#endif /* !NDEBUG */
|
|
|
468dcfe |
|
|
|
468dcfe |
/* Check the type of the ARP packet read. */
|
|
|
468dcfe |
diff --git a/src/sig.c b/src/sig.c
|
|
|
468dcfe |
index d2a34cd..a07539e 100644
|
|
|
468dcfe |
--- a/src/sig.c
|
|
|
468dcfe |
+++ b/src/sig.c
|
|
|
468dcfe |
@@ -204,7 +204,7 @@ sig_loop(char **argv, char **envp)
|
|
|
468dcfe |
case SIGINT:
|
|
|
468dcfe |
/* Remove ^C symbol from the output terminal. */
|
|
|
468dcfe |
printf("\r");
|
|
|
468dcfe |
- /* FALLTHRU */
|
|
|
468dcfe |
+ /* Fallthrough. */
|
|
|
468dcfe |
|
|
|
468dcfe |
case SIGTERM:
|
|
|
468dcfe |
MSG_DEBUG("Caught %s (%d)..", SIG_ITOA(sig), sig);
|
|
|
468dcfe |
--
|
|
|
468dcfe |
2.17.1
|
|
|
468dcfe |
|