diff mbox series

[1/1] package/azure-iot-sdk-c: fix build with gcc 11

Message ID 20210803142347.168625-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] package/azure-iot-sdk-c: fix build with gcc 11 | expand

Commit Message

Fabrice Fontaine Aug. 3, 2021, 2:23 p.m. UTC
Fix the following build failure with gcc 11:

/tmp/instance-7/output-1/build/azure-iot-sdk-c-LTS_01_2021_Ref01/c-utility/src/hmac.c:211:43: error: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Werror=array-parameter=]
  211 | int hmacResult(HMACContext *ctx, uint8_t *digest)
      |                                  ~~~~~~~~~^~~~~~
In file included from /tmp/instance-7/output-1/build/azure-iot-sdk-c-LTS_01_2021_Ref01/c-utility/src/hmac.c:13:
/tmp/instance-7/output-1/build/azure-iot-sdk-c-LTS_01_2021_Ref01/c-utility/inc/azure_c_shared_utility/sha.h:252:42: note: previously declared as an array 'uint8_t[64]' {aka 'unsigned char[64]'}
  252 | int hmacResult(HMACContext *ctx, uint8_t digest[USHAMaxHashSize]);
      |                                  ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/11a6eebd0deea679683a93a5c8355d00acdfe51e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 ...c-fix-mismatching-function-prototype.patch | 35 +++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 package/azure-iot-sdk-c/0001-hmac-c-fix-mismatching-function-prototype.patch

Comments

Arnout Vandecappelle Aug. 4, 2021, 8:39 p.m. UTC | #1
On 03/08/2021 16:23, Fabrice Fontaine wrote:
> Fix the following build failure with gcc 11:
> 
> /tmp/instance-7/output-1/build/azure-iot-sdk-c-LTS_01_2021_Ref01/c-utility/src/hmac.c:211:43: error: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Werror=array-parameter=]
>   211 | int hmacResult(HMACContext *ctx, uint8_t *digest)
>       |                                  ~~~~~~~~~^~~~~~
> In file included from /tmp/instance-7/output-1/build/azure-iot-sdk-c-LTS_01_2021_Ref01/c-utility/src/hmac.c:13:
> /tmp/instance-7/output-1/build/azure-iot-sdk-c-LTS_01_2021_Ref01/c-utility/inc/azure_c_shared_utility/sha.h:252:42: note: previously declared as an array 'uint8_t[64]' {aka 'unsigned char[64]'}
>   252 | int hmacResult(HMACContext *ctx, uint8_t digest[USHAMaxHashSize]);
>       |                                  ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/11a6eebd0deea679683a93a5c8355d00acdfe51e
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

 Applied to master, thanks.

 Regards,
 Arnout

> ---
>  ...c-fix-mismatching-function-prototype.patch | 35 +++++++++++++++++++
>  1 file changed, 35 insertions(+)
>  create mode 100644 package/azure-iot-sdk-c/0001-hmac-c-fix-mismatching-function-prototype.patch
> 
> diff --git a/package/azure-iot-sdk-c/0001-hmac-c-fix-mismatching-function-prototype.patch b/package/azure-iot-sdk-c/0001-hmac-c-fix-mismatching-function-prototype.patch
> new file mode 100644
> index 0000000000..0c262e6c46
> --- /dev/null
> +++ b/package/azure-iot-sdk-c/0001-hmac-c-fix-mismatching-function-prototype.patch
> @@ -0,0 +1,35 @@
> +From 3a7997af72e7a4f70109d1639e6725b39046443e Mon Sep 17 00:00:00 2001
> +From: Francesco Giancane <30423178+fgiancane8@users.noreply.github.com>
> +Date: Fri, 2 Jul 2021 20:47:38 +0200
> +Subject: [PATCH] hmac.c: fix mismatching function prototype (#537)
> +
> +The reported function raises a warning when compilers assert the flag
> +`-Warray-parameter=`, signaling that an array-type argument was promoted
> +to a pointer-type argument.
> +
> +While in practice in most C implementations this is correct, fixing the
> +warning (and, in this case, indicating the maximum size for the array)
> +would represent a best-practice for finding out-of-bound accesses or
> +identifying wrongly-sized arrays passed in the function.
> +
> +Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>
> +[Retrieved from:
> +https://github.com/Azure/azure-c-shared-utility/commit/3a7997af72e7a4f70109d1639e6725b39046443e]
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +---
> + src/hmac.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/src/hmac.c b/src/hmac.c
> +index 53f2411f8..160af9d2f 100644
> +--- a/c-utility/src/hmac.c
> ++++ b/c-utility/src/hmac.c
> +@@ -208,7 +208,7 @@ int hmacFinalBits(HMACContext *ctx,
> + *   sha Error Code.
> + *
> + */
> +-int hmacResult(HMACContext *ctx, uint8_t *digest)
> ++int hmacResult(HMACContext *ctx, uint8_t digest[USHAMaxHashSize])
> + {
> +     if (!ctx) return shaNull;
> + 
>
diff mbox series

Patch

diff --git a/package/azure-iot-sdk-c/0001-hmac-c-fix-mismatching-function-prototype.patch b/package/azure-iot-sdk-c/0001-hmac-c-fix-mismatching-function-prototype.patch
new file mode 100644
index 0000000000..0c262e6c46
--- /dev/null
+++ b/package/azure-iot-sdk-c/0001-hmac-c-fix-mismatching-function-prototype.patch
@@ -0,0 +1,35 @@ 
+From 3a7997af72e7a4f70109d1639e6725b39046443e Mon Sep 17 00:00:00 2001
+From: Francesco Giancane <30423178+fgiancane8@users.noreply.github.com>
+Date: Fri, 2 Jul 2021 20:47:38 +0200
+Subject: [PATCH] hmac.c: fix mismatching function prototype (#537)
+
+The reported function raises a warning when compilers assert the flag
+`-Warray-parameter=`, signaling that an array-type argument was promoted
+to a pointer-type argument.
+
+While in practice in most C implementations this is correct, fixing the
+warning (and, in this case, indicating the maximum size for the array)
+would represent a best-practice for finding out-of-bound accesses or
+identifying wrongly-sized arrays passed in the function.
+
+Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>
+[Retrieved from:
+https://github.com/Azure/azure-c-shared-utility/commit/3a7997af72e7a4f70109d1639e6725b39046443e]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ src/hmac.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/hmac.c b/src/hmac.c
+index 53f2411f8..160af9d2f 100644
+--- a/c-utility/src/hmac.c
++++ b/c-utility/src/hmac.c
+@@ -208,7 +208,7 @@ int hmacFinalBits(HMACContext *ctx,
+ *   sha Error Code.
+ *
+ */
+-int hmacResult(HMACContext *ctx, uint8_t *digest)
++int hmacResult(HMACContext *ctx, uint8_t digest[USHAMaxHashSize])
+ {
+     if (!ctx) return shaNull;
+