summaryrefslogtreecommitdiff
path: root/crypto/dsa/dsa_ossl.c
diff options
context:
space:
mode:
authorSimon L. B. Nielsen <simon@FreeBSD.org>2010-11-21 22:45:18 +0000
committerSimon L. B. Nielsen <simon@FreeBSD.org>2010-11-21 22:45:18 +0000
commitf2c43d19b91f8847c1dfd87721254b44f963d9a2 (patch)
tree4710d37952455e247de95eedf55ea05ee4df9f69 /crypto/dsa/dsa_ossl.c
parent0cedaa6c89235ed396068f2ebf546c9a909439e1 (diff)
Notes
Diffstat (limited to 'crypto/dsa/dsa_ossl.c')
-rw-r--r--crypto/dsa/dsa_ossl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/dsa/dsa_ossl.c b/crypto/dsa/dsa_ossl.c
index 412cf1d88b69..172776080669 100644
--- a/crypto/dsa/dsa_ossl.c
+++ b/crypto/dsa/dsa_ossl.c
@@ -178,7 +178,8 @@ static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
if (!BN_mod_mul(&xr,dsa->priv_key,r,dsa->q,ctx)) goto err;/* s = xr */
if (!BN_add(s, &xr, &m)) goto err; /* s = m + xr */
if (BN_cmp(s,dsa->q) > 0)
- BN_sub(s,s,dsa->q);
+ if (!BN_sub(s,s,dsa->q))
+ goto err;
if (!BN_mod_mul(s,s,kinv,dsa->q,ctx)) goto err;
ret=DSA_SIG_new();