DSA: Make DSA_bits() and DSA_size() check that there are key parameters
authorRichard Levitte <levitte@openssl.org>
Fri, 4 Dec 2020 07:55:19 +0000 (08:55 +0100)
committerRichard Levitte <levitte@openssl.org>
Sat, 5 Dec 2020 10:06:05 +0000 (11:06 +0100)
commitecfbe2f0461b399b6bf99bdaa95c460ece8e693e
treece456497034af6245bd9591b9d97d15cb34021a2
parent76191c7999e0d1f709ea468950457f71cea378c4
DSA: Make DSA_bits() and DSA_size() check that there are key parameters

Without these check, a DSA structure without key parameters will cause
these functions to crash.  This is also the case in pre-3.0 OpenSSL,
but since we now extract these data early, to cache them in the
EVP_PKEY structure, the same crash happens earlier and much more
internally.

The added checks are of the same kind as DSA_security_bits() already
does.

Fixes #13610

Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13611)
crypto/dsa/dsa_lib.c
crypto/dsa/dsa_sign.c
doc/man3/DSA_size.pod