The branch master has been updated
via 679d87515d23ca31491effdc264edc81c695a72a (commit)
from 91cf7551a1dd4bc9a482c5577b5081adbae96ada (commit)
- Log -----------------------------------------------------------------
commit 679d87515d23ca31491effdc264edc81c695a72a
Author: David Benjamin <[email protected]>
Date: Thu Dec 17 20:11:11 2015 +0100
Fix memory leak in DSA redo case.
Found by clang scan-build.
Signed-off-by: Kurt Roeckx <[email protected]>
Reviewed-by: Richard Levitte <[email protected]>
RT: #4184, MR: #1496
-----------------------------------------------------------------------
Summary of changes:
crypto/dsa/dsa_ossl.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/crypto/dsa/dsa_ossl.c b/crypto/dsa/dsa_ossl.c
index 34b4a4e..b4bb254 100644
--- a/crypto/dsa/dsa_ossl.c
+++ b/crypto/dsa/dsa_ossl.c
@@ -191,9 +191,6 @@ static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int
dlen, DSA *dsa)
if (!BN_mod_mul(s, s, kinv, dsa->q, ctx))
goto err;
- ret = DSA_SIG_new();
- if (ret == NULL)
- goto err;
/*
* Redo if r or s is zero as required by FIPS 186-3: this is very
* unlikely.
@@ -205,11 +202,14 @@ static DSA_SIG *dsa_do_sign(const unsigned char *dgst,
int dlen, DSA *dsa)
}
goto redo;
}
+ ret = DSA_SIG_new();
+ if (ret == NULL)
+ goto err;
ret->r = r;
ret->s = s;
err:
- if (!ret) {
+ if (ret == NULL) {
DSAerr(DSA_F_DSA_DO_SIGN, reason);
BN_free(r);
BN_free(s);
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits