From 554988ebf6b6c99a9cebee7cb0dbb1b90fe82c88 Mon Sep 17 00:00:00 2001
From: Pim van Pelt <pim@ipng.nl>
Date: Tue, 8 Mar 2022 10:08:59 +0000
Subject: [PATCH] Fix API errors - convert int32 to host order and null
 terminate vectors in the response

---
 lcpng_if_api.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/lcpng_if_api.c b/lcpng_if_api.c
index b7b67ae..7f59c20 100644
--- a/lcpng_if_api.c
+++ b/lcpng_if_api.c
@@ -144,16 +144,18 @@ send_lcp_itf_pair_details (index_t lipi, vl_api_registration_t *rp,
 
   REPLY_MACRO_DETAILS4 (
     VL_API_LCP_ITF_PAIR_DETAILS, rp, context, ({
-      rmp->phy_sw_if_index = ntohl(lcp_pair->lip_phy_sw_if_index);
-      rmp->host_sw_if_index = ntohl(lcp_pair->lip_host_sw_if_index);
-      rmp->vif_index = ntohl(lcp_pair->lip_vif_index);
+      rmp->phy_sw_if_index = ntohl (lcp_pair->lip_phy_sw_if_index);
+      rmp->host_sw_if_index = ntohl (lcp_pair->lip_host_sw_if_index);
+      rmp->vif_index = ntohl (lcp_pair->lip_vif_index);
       rmp->host_if_type = api_encode_host_type (lcp_pair->lip_host_type);
 
       memcpy_s (rmp->host_if_name, sizeof (rmp->host_if_name),
 		lcp_pair->lip_host_name, vec_len (lcp_pair->lip_host_name));
+      rmp->host_if_name[vec_len (lcp_pair->lip_host_name)] = 0;
 
-      clib_strncpy ((char *) rmp->namespace, (char *) lcp_pair->lip_namespace,
-		    vec_len (lcp_pair->lip_namespace));
+      memcpy_s (rmp->namespace, sizeof (rmp->namespace),
+		lcp_pair->lip_namespace, vec_len (lcp_pair->lip_namespace));
+      rmp->namespace[vec_len (lcp_pair->lip_namespace)] = 0;
     }));
 }