[ovs-dev] [patch v5 2/2] conntrack: Fix max size for inet_ntop() call.
Darrell Ball
dlu998 at gmail.com
Fri Feb 1 07:35:41 UTC 2019
The call to inet_ntop() in repl_ftp_v6_addr() is 1 short to handle
the maximum possible V6 address size for v4 mapping case.
Found by inspection.
Fixes: bd5e81a0e596 ("Userspace Datapath: Add ALG infra and FTP.")
Signed-off-by: Darrell Ball <dlu998 at gmail.com>
---
v2: s/IPV6_SCAN_LEN/INET6_ADDRSTRLEN/ in
char v6_addr_str[IPV6_SCAN_LEN] = {0};
per review by David Marchand.
lib/conntrack.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/conntrack.c b/lib/conntrack.c
index 6b66750..0fedddd 100644
--- a/lib/conntrack.c
+++ b/lib/conntrack.c
@@ -3159,9 +3159,9 @@ repl_ftp_v6_addr(struct dp_packet *pkt, struct ct_addr v6_addr_rep,
return 0;
}
- char v6_addr_str[IPV6_SCAN_LEN] = {0};
+ char v6_addr_str[INET6_ADDRSTRLEN] = {0};
ovs_assert(inet_ntop(AF_INET6, &v6_addr_rep.ipv6_aligned, v6_addr_str,
- IPV6_SCAN_LEN - 1));
+ sizeof v6_addr_str));
modify_packet(pkt, ftp_data_start + addr_offset_from_ftp_data_start,
addr_size, v6_addr_str, strlen(v6_addr_str),
orig_used_size);
--
1.9.1
More information about the dev
mailing list