Skip to content

Fix arguments with mismatched bound in lib/isc/sha2.c

GCC 11 produced the following warnings:

sha2.c:888:26: error: argument 1 of type ‘uint8_t[]’ {aka ‘unsigned char[]’} with mismatched bound [-Werror=array-parameter=]
  888 | isc_sha224_final(uint8_t digest[], isc_sha224_t *context) {
      |                  ~~~~~~~~^~~~~~~~
In file included from sha2.c:58:
./include/isc/sha2.h:132:24: note: previously declared as ‘uint8_t[28]’ {aka ‘unsigned char[28]’}
  132 | void isc_sha224_final (uint8_t[ISC_SHA224_DIGESTLENGTH], isc_sha224_t *);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha2.c:1151:26: error: argument 1 of type ‘uint8_t[]’ {aka ‘unsigned char[]’} with mismatched bound [-Werror=array-parameter=]
 1151 | isc_sha256_final(uint8_t digest[], isc_sha256_t *context) {
      |                  ~~~~~~~~^~~~~~~~
In file included from sha2.c:58:
./include/isc/sha2.h:139:24: note: previously declared as ‘uint8_t[32]’ {aka ‘unsigned char[32]’}
  139 | void isc_sha256_final (uint8_t[ISC_SHA256_DIGESTLENGTH], isc_sha256_t *);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha2.c:1514:31: error: argument 1 of type ‘uint8_t[]’ {aka ‘unsigned char[]’} with mismatched bound [-Werror=array-parameter=]
 1514 | void isc_sha512_final(uint8_t digest[], isc_sha512_t *context) {
      |                       ~~~~~~~~^~~~~~~~
In file included from sha2.c:58:
./include/isc/sha2.h:153:24: note: previously declared as ‘uint8_t[64]’ {aka ‘unsigned char[64]’}
  153 | void isc_sha512_final (uint8_t[ISC_SHA512_DIGESTLENGTH], isc_sha512_t *);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha2.c:1567:26: error: argument 1 of type ‘uint8_t[]’ {aka ‘unsigned char[]’} with mismatched bound [-Werror=array-parameter=]
 1567 | isc_sha384_final(uint8_t digest[], isc_sha384_t *context) {
      |                  ~~~~~~~~^~~~~~~~
In file included from sha2.c:58:
./include/isc/sha2.h:146:24: note: previously declared as ‘uint8_t[48]’ {aka ‘unsigned char[48]’}
  146 | void isc_sha384_final (uint8_t[ISC_SHA384_DIGESTLENGTH], isc_sha384_t *);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha2.c:1604:44: error: argument 2 of type ‘char[]’ with mismatched bound [-Werror=array-parameter=]
 1604 | isc_sha224_end(isc_sha224_t *context, char buffer[]) {
      |                                       ~~~~~^~~~~~~~
In file included from sha2.c:58:
./include/isc/sha2.h:133:39: note: previously declared as ‘char[57]’
  133 | char *isc_sha224_end (isc_sha224_t *, char[ISC_SHA224_DIGESTSTRINGLENGTH]);
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha2.c:1645:44: error: argument 2 of type ‘char[]’ with mismatched bound [-Werror=array-parameter=]
 1645 | isc_sha256_end(isc_sha256_t *context, char buffer[]) {
      |                                       ~~~~~^~~~~~~~
In file included from sha2.c:58:
./include/isc/sha2.h:140:39: note: previously declared as ‘char[65]’
  140 | char *isc_sha256_end (isc_sha256_t *, char[ISC_SHA256_DIGESTSTRINGLENGTH]);
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha2.c:1686:44: error: argument 2 of type ‘char[]’ with mismatched bound [-Werror=array-parameter=]
 1686 | isc_sha512_end(isc_sha512_t *context, char buffer[]) {
      |                                       ~~~~~^~~~~~~~
In file included from sha2.c:58:
./include/isc/sha2.h:154:39: note: previously declared as ‘char[129]’
  154 | char *isc_sha512_end (isc_sha512_t *, char[ISC_SHA512_DIGESTSTRINGLENGTH]);
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sha2.c:1727:44: error: argument 2 of type ‘char[]’ with mismatched bound [-Werror=array-parameter=]
 1727 | isc_sha384_end(isc_sha384_t *context, char buffer[]) {
      |                                       ~~~~~^~~~~~~~
In file included from sha2.c:58:
./include/isc/sha2.h:147:39: note: previously declared as ‘char[97]’
  147 | char *isc_sha384_end (isc_sha384_t *, char[ISC_SHA384_DIGESTSTRINGLENGTH]);
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

This unblocks Fedora 34 for ~"v9.11".

Closes #2453 (closed)

Edited by Michal Nowak

Merge request reports