summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Sowden <jeremy@azazel.net>2025-04-20 18:20:20 +0100
committerFlorian Westphal <fw@strlen.de>2025-04-23 13:52:56 +0200
commita15dbac7026d5a2552054b0c186c221eb800e92c (patch)
treed48b8b69b52b8acf4d1ff1c5143a686d5d0e6935
parent32233985f24df86c464426c7af5477b012935c46 (diff)
IP2STR: correct address buffer size
The elements of the `ipstr_array` array are `IPADDR_LENGTH` bytes long where `IPADDR_LENGTH` is a local macro defined as 128. However, this is the number of bits in an IPv6 address, but the elements of `ipstr_array` only need to be big enough to be used for the output of `inet_ntop`. Use the standard `INET6_ADDRSTRLEN` macro instead. Signed-off-by: Jeremy Sowden <jeremy@azazel.net> Signed-off-by: Florian Westphal <fw@strlen.de>
-rw-r--r--filter/ulogd_filter_IP2STR.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/filter/ulogd_filter_IP2STR.c b/filter/ulogd_filter_IP2STR.c
index 4d05368..c52824b 100644
--- a/filter/ulogd_filter_IP2STR.c
+++ b/filter/ulogd_filter_IP2STR.c
@@ -28,8 +28,6 @@
#include <ulogd/ulogd.h>
#include <netinet/if_ether.h>
-#define IPADDR_LENGTH 128
-
enum input_keys {
KEY_OOB_FAMILY,
KEY_OOB_PROTOCOL,
@@ -137,7 +135,7 @@ static struct ulogd_key ip2str_keys[] = {
},
};
-static char ipstr_array[MAX_KEY - START_KEY + 1][IPADDR_LENGTH];
+static char ipstr_array[MAX_KEY - START_KEY + 1][INET6_ADDRSTRLEN];
static int ip2str(struct ulogd_key *inp, int index, int oindex)
{