From 0b592923cd421f74d03812225f21df8e5a5c27c2 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 517f635f39..f9b1ad5722 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 2beabd35f7..5bfee8d233 100644
--- a/nfapi/open-nFAPI/common/src/nfapi.c
+++ b/nfapi/open-nFAPI/common/src/nfapi.c
@@ -585,7 +585,7 @@ uint8_t unpackarray(uint8_t **ppReadPackedMsg, void *array, uint16_t array_eleme
   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
@@ -615,7 +615,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 3895815c5c..e4366a2a72 100644
--- a/nfapi/tests/p7/nr_fapi_dci_inversion_test.c
+++ b/nfapi/tests/p7/nr_fapi_dci_inversion_test.c
@@ -95,7 +95,7 @@ int main(int n, char *v[])
   truncate_unwanted_bits(payloadSizeBits, 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);
 
@@ -115,6 +115,5 @@ int main(int n, char *v[])
 
   DevAssert(memcmp(payload, unpack_buf, payloadSizeBytes) == 0);
   // All tests successful!
-  free(unpack_buf);
   return 0;
 }
-- 
2.26.2