From ffb72dc42a4d65d3c6c932542a298facfc51bb8d Mon Sep 17 00:00:00 2001
From: "nevadita.chatterjee" <nevadita.chatterjee@iopsys.eu>
Date: Thu, 4 May 2023 10:29:59 +0530
Subject: [PATCH] map-topology: Added check for max ipv6 address count

---
 src/host_utils.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/host_utils.c b/src/host_utils.c
index 649be67..a6aa17a 100644
--- a/src/host_utils.c
+++ b/src/host_utils.c
@@ -272,7 +272,12 @@ int host_get_netlink_ip6(uint8_t *mac_addr, struct host_node *p)
 
 		ret = memcmp(hwaddr, mac_addr, 6);
 		if (ret == 0) {
-			strncpy(p->ipv6addr[p->ipv6addr_count], addr_str, 128);
+			if (p->ipv6addr_count >= HOST_MAX_IPV6ADDR) {
+				nl_object_put((struct nl_object *) neigh);
+				break;
+			}
+			memset(p->ipv6addr[p->ipv6addr_count], 0, 128);
+			strncpy(p->ipv6addr[p->ipv6addr_count], addr_str, 127);
 			dbg("ipv6addr= [%s] mac=["MACFMT"]\n", p->ipv6addr[p->ipv6addr_count], MAC2STR(hwaddr));
 			p->ipv6addr_count = p->ipv6addr_count + 1;
 		}
-- 
GitLab