diff options
author | Matt Caswell <matt@openssl.org> | 2015-03-11 15:31:16 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2015-03-12 09:18:22 +0000 |
commit | 8c5a7b33c6269c3bd6bc0df6b4c22e4fba03b485 (patch) | |
tree | 2bb9c4fc298e8447418ba4bf8a941bfd8beeb1c5 /crypto | |
parent | 6b937f8b115d817b00116bc6291d604b16dc4602 (diff) |
Fix error handling in bn_exp
In the event of an error |rr| could be NULL. Therefore don't assume you can
use |rr| in the error handling code.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/bn/bn_exp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/bn/bn_exp.c b/crypto/bn/bn_exp.c index 28a9fd53bb..8c46e50bdc 100644 --- a/crypto/bn/bn_exp.c +++ b/crypto/bn/bn_exp.c @@ -185,10 +185,10 @@ int BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) goto err; } } - ret = 1; - err: if (r != rr) BN_copy(r, rr); + ret = 1; + err: BN_CTX_end(ctx); bn_check_top(r); return (ret); |