summaryrefslogtreecommitdiffstats
path: root/crypto/openssl/crypto/dsa
diff options
context:
space:
mode:
authorsimon <simon@FreeBSD.org>2010-11-22 18:23:44 +0000
committersimon <simon@FreeBSD.org>2010-11-22 18:23:44 +0000
commit7a23485c98b888d229c5e0762dbcfcec293fcef6 (patch)
tree5691801dabb6a06320a55f5ce8ed927af41514f3 /crypto/openssl/crypto/dsa
parent9c043d590896a77d5d66b978a963573a41d66ad3 (diff)
downloadFreeBSD-src-7a23485c98b888d229c5e0762dbcfcec293fcef6.zip
FreeBSD-src-7a23485c98b888d229c5e0762dbcfcec293fcef6.tar.gz
Merge OpenSSL 0.9.8p into head.
Security: CVE-2010-3864 Security: http://www.openssl.org/news/secadv_20101116.txt
Diffstat (limited to 'crypto/openssl/crypto/dsa')
-rw-r--r--crypto/openssl/crypto/dsa/dsa_gen.c3
-rw-r--r--crypto/openssl/crypto/dsa/dsa_ossl.c3
2 files changed, 3 insertions, 3 deletions
diff --git a/crypto/openssl/crypto/dsa/dsa_gen.c b/crypto/openssl/crypto/dsa/dsa_gen.c
index 6f1728e..7a9d188 100644
--- a/crypto/openssl/crypto/dsa/dsa_gen.c
+++ b/crypto/openssl/crypto/dsa/dsa_gen.c
@@ -110,7 +110,7 @@ static int dsa_builtin_paramgen(DSA *ret, int bits,
BIGNUM *r0,*W,*X,*c,*test;
BIGNUM *g=NULL,*q=NULL,*p=NULL;
BN_MONT_CTX *mont=NULL;
- int k,n=0,i,b,m=0;
+ int k,n=0,i,m=0;
int counter=0;
int r=0;
BN_CTX *ctx=NULL;
@@ -211,7 +211,6 @@ static int dsa_builtin_paramgen(DSA *ret, int bits,
/* "offset = 2" */
n=(bits-1)/160;
- b=(bits-1)-n*160;
for (;;)
{
diff --git a/crypto/openssl/crypto/dsa/dsa_ossl.c b/crypto/openssl/crypto/dsa/dsa_ossl.c
index 412cf1d..1727760 100644
--- a/crypto/openssl/crypto/dsa/dsa_ossl.c
+++ b/crypto/openssl/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();
OpenPOWER on IntegriCloud