From 6fc8eb0fee9524da8be0832b7074525f8693ec60 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=BAben=20Soares=20Silva?= <rsilva@allbesmart.pt>
Date: Wed, 15 May 2024 14:32:54 +0100
Subject: [PATCH] Change parameter type of pack_dci_payload and
 unpack_dci_payload to avoid -Wstringop-overflow warning. Change declaration
 of unpack_buf in dci_inversion_test to not require calloc

---
 nfapi/open-nFAPI/common/public_inc/nfapi.h  | 4 ++--
 nfapi/open-nFAPI/common/src/nfapi.c         | 4 ++--
 nfapi/tests/p7/nr_fapi_dci_inversion_test.c | 3 +--
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/nfapi/open-nFAPI/common/public_inc/nfapi.h b/nfapi/open-nFAPI/common/public_inc/nfapi.h
index e3a5d83b9c2..99c7d7ec7e2 100644
--- a/nfapi/open-nFAPI/common/public_inc/nfapi.h
+++ b/nfapi/open-nFAPI/common/public_inc/nfapi.h
@@ -77,8 +77,8 @@ uint8_t unpackarray(uint8_t **ppReadPackedMsg,
                     uint8_t *end,
                     unpack_array_elem_fn fn);
 
-uint32_t pack_dci_payload(uint8_t payload[], uint16_t payloadSizeBits, uint8_t **out, uint8_t *end);
-uint32_t unpack_dci_payload(uint8_t payload[], uint16_t payloadSizeBits, uint8_t **in, uint8_t *end);
+uint32_t pack_dci_payload(uint8_t *payload, uint16_t payloadSizeBits, uint8_t **out, uint8_t *end);
+uint32_t unpack_dci_payload(uint8_t *payload, uint16_t payloadSizeBits, uint8_t **in, uint8_t *end);
 
 uint8_t pack_tl(nfapi_tl_t *tl, uint8_t **ppWritePackedMsg, uint8_t *end);
 uint8_t unpack_tl(uint8_t **ppReadPackedMsg, nfapi_tl_t *tl, uint8_t *end);
diff --git a/nfapi/open-nFAPI/common/src/nfapi.c b/nfapi/open-nFAPI/common/src/nfapi.c
index ae3ab85c05b..97352b98f79 100644
--- a/nfapi/open-nFAPI/common/src/nfapi.c
+++ b/nfapi/open-nFAPI/common/src/nfapi.c
@@ -618,7 +618,7 @@ uint8_t unpackarray(uint8_t **ppReadPackedMsg,
   return 1;
 }
 
-uint32_t pack_dci_payload(uint8_t payload[], uint16_t payloadSizeBits, uint8_t **out, uint8_t *end)
+uint32_t pack_dci_payload(uint8_t *payload, uint16_t payloadSizeBits, uint8_t **out, uint8_t *end)
 {
   uint8_t dci_byte_len = (payloadSizeBits + 7) / 8;
 #ifdef FAPI_BYTE_ORDERING_BIG_ENDIAN
@@ -648,7 +648,7 @@ uint32_t pack_dci_payload(uint8_t payload[], uint16_t payloadSizeBits, uint8_t *
 #endif
 }
 
-uint32_t unpack_dci_payload(uint8_t payload[], uint16_t payloadSizeBits, uint8_t **in, uint8_t *end)
+uint32_t unpack_dci_payload(uint8_t *payload, uint16_t payloadSizeBits, uint8_t **in, uint8_t *end)
 {
   // Pull the inverted DCI and invert it back
   //  Helper vars for DCI Payload
diff --git a/nfapi/tests/p7/nr_fapi_dci_inversion_test.c b/nfapi/tests/p7/nr_fapi_dci_inversion_test.c
index 4c3c05c2e3d..22e883b0cd9 100644
--- a/nfapi/tests/p7/nr_fapi_dci_inversion_test.c
+++ b/nfapi/tests/p7/nr_fapi_dci_inversion_test.c
@@ -108,7 +108,7 @@ void test_pack_payload(uint8_t payloadSizeBits, uint8_t payload[])
 
   pack_dci_payload(payload, payloadSizeBits, &pWritePackedMessage, pPackMessageEnd);
 
-  uint8_t *unpack_buf = calloc_or_fail(payloadSizeBytes, sizeof(uint8_t));
+  uint8_t unpack_buf[payloadSizeBytes];
   pWritePackedMessage = msg_buf;
   unpack_dci_payload(unpack_buf, payloadSizeBits, &pWritePackedMessage, pPackMessageEnd);
 
@@ -128,7 +128,6 @@ void test_pack_payload(uint8_t payloadSizeBits, uint8_t payload[])
 
   DevAssert(memcmp(payload, unpack_buf, payloadSizeBytes) == 0);
   // All tests successful!
-  free(unpack_buf);
 }
 
 int main(int n, char *v[])
-- 
GitLab