summaryrefslogtreecommitdiffstats
path: root/test/ecdsatest.c
diff options
context:
space:
mode:
authorPauli <paul.dale@oracle.com>2019-03-04 04:37:39 +0100
committerPauli <paul.dale@oracle.com>2019-03-04 04:39:09 +0100
commit68ad17e87467e93eab87fc2fce0da53d6a7653cc (patch)
treebf12ccffee1072e46f52fe48e5d9fd29a05b70e3 /test/ecdsatest.c
parentFix seeding from random device w/o getrandom syscall (diff)
downloadopenssl-68ad17e87467e93eab87fc2fce0da53d6a7653cc.tar.xz
openssl-68ad17e87467e93eab87fc2fce0da53d6a7653cc.zip
Check for negative return for signature size.Addresses Coverity 1442933
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/8392)
Diffstat (limited to 'test/ecdsatest.c')
-rw-r--r--test/ecdsatest.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/test/ecdsatest.c b/test/ecdsatest.c
index 03327a23dc..761832ff81 100644
--- a/test/ecdsatest.c
+++ b/test/ecdsatest.c
@@ -205,6 +205,7 @@ static int test_builtin(int n)
EVP_MD_CTX *mctx = NULL;
size_t sig_len;
int nid, ret = 0;
+ int temp;
nid = curves[n].nid;
@@ -231,9 +232,10 @@ static int test_builtin(int n)
|| !TEST_true(EVP_PKEY_assign_EC_KEY(pkey_neg, eckey_neg)))
goto err;
- sig_len = ECDSA_size(eckey);
+ temp = ECDSA_size(eckey);
- if (!TEST_ptr(sig = OPENSSL_malloc(sig_len))
+ if (!TEST_int_ge(temp, 0)
+ || !TEST_ptr(sig = OPENSSL_malloc(sig_len = (size_t)temp))
/* create a signature */
|| !TEST_true(EVP_DigestSignInit(mctx, NULL, NULL, NULL, pkey))
|| !TEST_true(EVP_DigestSign(mctx, sig, &sig_len, tbs, sizeof(tbs)))