[PATCH 12/28] batctl: tcpdump: drop hardcoded IPv6 buffer sizes
Sven Eckelmann <[email protected]> Sun, 21 Jun 2026 16:24:02 +0200
| Newsgroups | org.open-mesh.lists.batman |
|---|---|
| Message-ID | <[email protected]> |
The inet_ntop expects to know the dst size buffer. But instead of
specifying how to calculate the size of this buffer, just a value was
hardcoded - which might not fulfill the "INET6_ADDRSTRLEN" size
requirements.
Evaluate the size of the buffer at compile time to avoid potential
discrepancies.
Fixes: 35b37756f4a3 ("add IPv6 support to tcpdump parser")
Signed-off-by: Sven Eckelmann <[email protected]>
---
tcpdump.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tcpdump.c b/tcpdump.c
index e417cd1..0895c61 100644
--- a/tcpdump.c
+++ b/tcpdump.c
@@ -676,7 +676,7 @@ static void dump_ipv6(unsigned char *packet_buff, ssize_t buff_len,
sizeof(*nd_neigh_sol), "ICMPv6 Neighbor Solicitation");
nd_neigh_sol = (struct nd_neighbor_solicit *)icmphdr;
inet_ntop(AF_INET6, &nd_neigh_sol->nd_ns_target,
- nd_nas_target, 40);
+ nd_nas_target, sizeof(nd_nas_target));
printf(" neighbor solicitation, who has %s, length %zd\n",
nd_nas_target, buff_len);
break;
@@ -685,7 +685,7 @@ static void dump_ipv6(unsigned char *packet_buff, ssize_t buff_len,
sizeof(*nd_advert), "ICMPv6 Neighbor Advertisement");
nd_advert = (struct nd_neighbor_advert *)icmphdr;
inet_ntop(AF_INET6, &nd_advert->nd_na_target,
- nd_nas_target, 40);
+ nd_nas_target, sizeof(nd_nas_target));
printf(" neighbor advertisement, tgt is %s, length %zd\n",
nd_nas_target, buff_len);
break;
--
2.47.3