diff options
-rw-r--r-- | src/regress/lib/libcrypto/ecdsa/ecdsatest.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/regress/lib/libcrypto/ecdsa/ecdsatest.c b/src/regress/lib/libcrypto/ecdsa/ecdsatest.c index 683260aeee..5e2419a91f 100644 --- a/src/regress/lib/libcrypto/ecdsa/ecdsatest.c +++ b/src/regress/lib/libcrypto/ecdsa/ecdsatest.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ecdsatest.c,v 1.9 2022/03/31 09:36:09 tb Exp $ */ | 1 | /* $OpenBSD: ecdsatest.c,v 1.10 2022/08/31 09:33:39 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Written by Nils Larsch for the OpenSSL project. | 3 | * Written by Nils Larsch for the OpenSSL project. |
4 | */ | 4 | */ |
@@ -251,7 +251,8 @@ test_builtin(BIO *out) | |||
251 | BIO_printf(out, "."); | 251 | BIO_printf(out, "."); |
252 | (void)BIO_flush(out); | 252 | (void)BIO_flush(out); |
253 | /* create signature */ | 253 | /* create signature */ |
254 | sig_len = ECDSA_size(eckey); | 254 | if ((sig_len = ECDSA_size(eckey)) == 0) |
255 | goto builtin_err; | ||
255 | if ((signature = malloc(sig_len)) == NULL) | 256 | if ((signature = malloc(sig_len)) == NULL) |
256 | goto builtin_err; | 257 | goto builtin_err; |
257 | if (!ECDSA_sign(0, digest, 20, signature, &sig_len, eckey)) { | 258 | if (!ECDSA_sign(0, digest, 20, signature, &sig_len, eckey)) { |
@@ -332,8 +333,13 @@ test_builtin(BIO *out) | |||
332 | r = NULL; | 333 | r = NULL; |
333 | s = NULL; | 334 | s = NULL; |
334 | 335 | ||
336 | free(signature); | ||
337 | signature = NULL; | ||
338 | |||
335 | sig_ptr2 = signature; | 339 | sig_ptr2 = signature; |
336 | sig_len = i2d_ECDSA_SIG(ecdsa_sig, &sig_ptr2); | 340 | if ((sig_len = i2d_ECDSA_SIG(ecdsa_sig, &sig_ptr2)) <= 0) |
341 | goto builtin_err; | ||
342 | |||
337 | if (ECDSA_verify(0, digest, 20, signature, sig_len, | 343 | if (ECDSA_verify(0, digest, 20, signature, sig_len, |
338 | eckey) == 1) { | 344 | eckey) == 1) { |
339 | BIO_printf(out, " failed\n"); | 345 | BIO_printf(out, " failed\n"); |
@@ -349,8 +355,12 @@ test_builtin(BIO *out) | |||
349 | r = NULL; | 355 | r = NULL; |
350 | s = NULL; | 356 | s = NULL; |
351 | 357 | ||
358 | free(signature); | ||
359 | signature = NULL; | ||
360 | |||
352 | sig_ptr2 = signature; | 361 | sig_ptr2 = signature; |
353 | sig_len = i2d_ECDSA_SIG(ecdsa_sig, &sig_ptr2); | 362 | if ((sig_len = i2d_ECDSA_SIG(ecdsa_sig, &sig_ptr2)) <= 0) |
363 | goto builtin_err; | ||
354 | if (ECDSA_verify(0, digest, 20, signature, sig_len, | 364 | if (ECDSA_verify(0, digest, 20, signature, sig_len, |
355 | eckey) != 1) { | 365 | eckey) != 1) { |
356 | BIO_printf(out, " failed\n"); | 366 | BIO_printf(out, " failed\n"); |