Test |ECDSA_SIG_to_bytes| using the P-521 order size, not 512-bits. There was a test for 512 bit orders but not one for 521-bit orders. Test 521-bit orders instead. Change-Id: I61a76d02637ca55d8ae21834085311dd84fd870f Reviewed-on: https://boringssl-review.googlesource.com/7011 Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/crypto/ecdsa/ecdsa_test.cc b/crypto/ecdsa/ecdsa_test.cc index 26f606f..bef91c9 100644 --- a/crypto/ecdsa/ecdsa_test.cc +++ b/crypto/ecdsa/ecdsa_test.cc
@@ -340,15 +340,19 @@ return true; } +static size_t BitsToBytes(size_t bits) { + return (bits / 8) + (7 + (bits % 8)) / 8; +} + int main(void) { CRYPTO_library_init(); if (!TestBuiltin(stdout) || - !TestECDSA_SIG_max_len(224/8) || - !TestECDSA_SIG_max_len(256/8) || - !TestECDSA_SIG_max_len(384/8) || - !TestECDSA_SIG_max_len(512/8) || - !TestECDSA_SIG_max_len(10000)) { + !TestECDSA_SIG_max_len(BitsToBytes(224)) || + !TestECDSA_SIG_max_len(BitsToBytes(256)) || + !TestECDSA_SIG_max_len(BitsToBytes(384)) || + !TestECDSA_SIG_max_len(BitsToBytes(521)) || + !TestECDSA_SIG_max_len(BitsToBytes(10000))) { printf("\nECDSA test failed\n"); ERR_print_errors_fp(stdout); return 1;