diff options
author | Jeremy Sowden <jeremy@azazel.net> | 2025-04-20 18:20:20 +0100 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2025-04-23 13:52:56 +0200 |
commit | a15dbac7026d5a2552054b0c186c221eb800e92c (patch) | |
tree | d48b8b69b52b8acf4d1ff1c5143a686d5d0e6935 | |
parent | 32233985f24df86c464426c7af5477b012935c46 (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.c | 4 |
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) { |