summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/regress/lib/libcrypto/ecdsa/ecdsatest.c18
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");