From: Bernd Edlinger Date: Sun, 22 Aug 2021 19:28:51 +0000 (+0200) Subject: Fix the parameter type of gf_serialize X-Git-Tag: openssl-3.2.0-alpha1~3562 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7f58bdc1abe245dd09790e8f97d91df271578f4;p=thirdparty%2Fopenssl.git Fix the parameter type of gf_serialize It is better to use array bounds for improved gcc warning checks. While "uint8_t*" allows arbitrary pointer arithmetic using "uint8_t[SER_BYTES]" limits the pointer arithmetic to the range 0..SER_BYTES. Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/16376) --- diff --git a/crypto/ec/curve448/f_generic.c b/crypto/ec/curve448/f_generic.c index 4c571810d3a..7bb7df6b601 100644 --- a/crypto/ec/curve448/f_generic.c +++ b/crypto/ec/curve448/f_generic.c @@ -18,7 +18,7 @@ static const gf MODULUS = { }; /* Serialize to wire format. */ -void gf_serialize(uint8_t *serial, const gf x, int with_hibit) +void gf_serialize(uint8_t serial[SER_BYTES], const gf x, int with_hibit) { unsigned int j = 0, fill = 0; dword_t buffer = 0; diff --git a/crypto/ec/curve448/field.h b/crypto/ec/curve448/field.h index e1c63337895..0350322553b 100644 --- a/crypto/ec/curve448/field.h +++ b/crypto/ec/curve448/field.h @@ -62,7 +62,7 @@ mask_t gf_eq(const gf x, const gf y); mask_t gf_lobit(const gf x); mask_t gf_hibit(const gf x); -void gf_serialize(uint8_t *serial, const gf x, int with_highbit); +void gf_serialize(uint8_t serial[SER_BYTES], const gf x, int with_highbit); mask_t gf_deserialize(gf x, const uint8_t serial[SER_BYTES], int with_hibit, uint8_t hi_nmask);