summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorJeremy Sowden <jeremy@azazel.net>2025-05-26 18:19:01 +0100
committerFlorian Westphal <fw@strlen.de>2025-06-01 14:12:47 +0200
commit6498d29aa15557428aa62f37c478a602e03bd740 (patch)
tree3a56cbbf145875ee5943030b43860f51d71abd8e /util
parent512a0d4915bfd9c47196deed5ef27710b4418491 (diff)
db, IP2BIN: correct `format_ipv6()` output buffer sizes
`format_ipv6()` formats IPv6 addresses as hex-strings. However, sizing for the output buffer is not done quite right. The elements of the `ipbin_array` array in ulogd_filter_IP2BIN.c are sized using a local macro, `IPADDR_LENGTH`, which is defined as 128, the number of bits in an IPv6 address; this is much larger than necessary. Define an appropriate macro and use that instead. Signed-off-by: Jeremy Sowden <jeremy@azazel.net> Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'util')
-rw-r--r--util/db.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/util/db.c b/util/db.c
index 11c3e6a..69f4290 100644
--- a/util/db.c
+++ b/util/db.c
@@ -370,7 +370,7 @@ static void __format_query_db(struct ulogd_pluginstance *upi, char *start)
sprintf(stmt_ins, "%u,", res->u.value.ui32);
else {
struct in6_addr ipv6;
- char addrbuf[2 + sizeof(ipv6) * 2 + 1];
+ char addrbuf[FORMAT_IPV6_BUFSZ];
memcpy(ipv6.s6_addr, res->u.value.ui128,
sizeof(ipv6.s6_addr));