summaryrefslogtreecommitdiffstats
path: root/engines
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2008-05-30 17:44:36 +0000
committerDr. Stephen Henson <steve@openssl.org>2008-05-30 17:44:36 +0000
commit694ce314a88fa9c203e6fdff7ecefed607f6bee4 (patch)
tree15f4efcce363b24542feaa4fbbc432e9776ce7a5 /engines
parent94299a36a6ec2fe2155d94a75c9d4a1c191fe4e2 (diff)
DSA method slightly more tested and fixed ;-)
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;
}