diff --git a/ChangeLog b/ChangeLog index bc0bbd0f8..d3b7124b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,8 @@ Bugfix * User set CFLAGS were ignore by Cmake with gcc (introduced in 1.3.9, found by Julian Ospald). * Fix potential undefined behaviour in Camellia. + * Fix potential failure in ECDSA signatures when POLARSSL_ECP_MAX_BITS is a + multiple of 8 (found by Gergely Budai). Changes * Use deterministic nonces for AEAD ciphers in TLS by default (possible to diff --git a/library/ecdsa.c b/library/ecdsa.c index 5af7f6b53..e9880efd2 100644 --- a/library/ecdsa.c +++ b/library/ecdsa.c @@ -333,7 +333,7 @@ cleanup: #if POLARSSL_ECP_MAX_BYTES > 124 #error "POLARSSL_ECP_MAX_BYTES bigger than expected, please fix MAX_SIG_LEN" #endif -#define MAX_SIG_LEN ( 3 + 2 * ( 2 + POLARSSL_ECP_MAX_BYTES ) ) +#define MAX_SIG_LEN ( 3 + 2 * ( 3 + POLARSSL_ECP_MAX_BYTES ) ) /* * Convert a signature (given by context) to ASN.1