summaryrefslogtreecommitdiffstats
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/e_capi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/e_capi.c b/engines/e_capi.c
index 445ec91af0..deea50c723 100644
--- a/engines/e_capi.c
+++ b/engines/e_capi.c
@@ -865,6 +865,10 @@ static DSA_SIG *capi_dsa_do_sign(const unsigned char *digest, int dlen,
ret = DSA_SIG_new();
if (!ret)
goto err;
+ ret->r = BN_new();
+ ret->s = BN_new();
+ if (!ret->r || !ret->s)
+ goto err;
if (!lend_tobn(ret->r, csigbuf, 20)
|| !lend_tobn(ret->s, csigbuf + 20, 20))
{
@@ -879,7 +883,6 @@ static DSA_SIG *capi_dsa_do_sign(const unsigned char *digest, int dlen,
err:
OPENSSL_cleanse(csigbuf, 40);
CryptDestroyHash(hash);
-
return ret;
}