diff options
author | TJ Saunders <tj@castaglia.org> | 2016-06-10 00:36:45 -0700 |
---|---|---|
committer | Rich Salz <rsalz@openssl.org> | 2016-06-13 15:44:49 -0400 |
commit | bbaa9dd850152bc85cad094e0aa0c685553d149c (patch) | |
tree | 9089f4a5ace81d14136c4d2d222ca404ed0844dc /crypto/dsa | |
parent | 1d454d58a80971eac941911965e894fdf1621cd8 (diff) | |
download | openssl-bbaa9dd850152bc85cad094e0aa0c685553d149c.tar.gz |
Ensure that NULL r and s parameters cannot be set on DSA_SIG/ECDSA_SIGs.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1193)
Diffstat (limited to 'crypto/dsa')
-rw-r--r-- | crypto/dsa/dsa_asn1.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/dsa/dsa_asn1.c b/crypto/dsa/dsa_asn1.c index f2818f3ab6..f79e1d1404 100644 --- a/crypto/dsa/dsa_asn1.c +++ b/crypto/dsa/dsa_asn1.c @@ -34,6 +34,8 @@ void DSA_SIG_get0(BIGNUM **pr, BIGNUM **ps, const DSA_SIG *sig) int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s) { + if (r == NULL || s == NULL) + return 0; BN_clear_free(sig->r); BN_clear_free(sig->s); sig->r = r; |