From 52b562c3280e8592c6a5452659a1cb4cffe26177 Mon Sep 17 00:00:00 2001 From: Nardi Ivan Date: Mon, 7 Nov 2022 18:38:40 +0100 Subject: Fix json export of ipv6 addresses The "string" buffer was to short; better start using `INET6_ADDRSTRLEN` as reported in the man page of `inet_ntop`. Close: #1794 --- example/reader_util.h | 2 +- src/lib/ndpi_utils.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/example/reader_util.h b/example/reader_util.h index d8c02c8b6..6d343551e 100644 --- a/example/reader_util.h +++ b/example/reader_util.h @@ -182,7 +182,7 @@ typedef struct ndpi_flow_info { u_int16_t vlan_id; ndpi_packet_tunnel tunnel_type; struct ndpi_flow_struct *ndpi_flow; - char src_name[48], dst_name[48]; + char src_name[INET6_ADDRSTRLEN], dst_name[INET6_ADDRSTRLEN]; u_int8_t ip_version; u_int32_t cwr_count, src2dst_cwr_count, dst2src_cwr_count; u_int32_t ece_count, src2dst_ece_count, dst2src_ece_count; diff --git a/src/lib/ndpi_utils.c b/src/lib/ndpi_utils.c index b7c687033..201480c4e 100644 --- a/src/lib/ndpi_utils.c +++ b/src/lib/ndpi_utils.c @@ -1516,7 +1516,7 @@ int ndpi_flow2json(struct ndpi_detection_module_struct *ndpi_struct, u_int16_t src_port, u_int16_t dst_port, ndpi_protocol l7_protocol, ndpi_serializer *serializer) { - char src_name[32] = {'\0'}, dst_name[32] = {'\0'}; + char src_name[INET6_ADDRSTRLEN] = {'\0'}, dst_name[INET6_ADDRSTRLEN] = {'\0'}; if(ip_version == 4) { inet_ntop(AF_INET, &src_v4, src_name, sizeof(src_name)); -- cgit v1.2.3