diff options
author | jpierre%netscape.com <devnull@localhost> | 2004-03-03 03:18:33 +0000 |
---|---|---|
committer | jpierre%netscape.com <devnull@localhost> | 2004-03-03 03:18:33 +0000 |
commit | b0441310d43e56cf58f4ad38e2c3bb49b1630ddc (patch) | |
tree | 2411b06097c5ef41a764ca4ff3af74ad0e19d893 | |
parent | b85042123b304439f8d02a3c8a9423cb9f35a7e2 (diff) | |
download | nss-hg-b0441310d43e56cf58f4ad38e2c3bb49b1630ddc.tar.gz |
Fix for 235874 - crash in PK11_DigestKey . r=wtc, nelsonb
-rw-r--r-- | security/nss/lib/pk11wrap/pk11skey.c | 5 | ||||
-rw-r--r-- | security/nss/lib/ssl/ssl3con.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/security/nss/lib/pk11wrap/pk11skey.c b/security/nss/lib/pk11wrap/pk11skey.c index 47f6ca5b5..65cae261b 100644 --- a/security/nss/lib/pk11wrap/pk11skey.c +++ b/security/nss/lib/pk11wrap/pk11skey.c @@ -3875,6 +3875,11 @@ PK11_DigestKey(PK11Context *context, PK11SymKey *key) SECStatus rv = SECSuccess; PK11SymKey *newKey = NULL; + if (!context || !key) { + PORT_SetError(SEC_ERROR_INVALID_ARGS); + return SECFailure; + } + /* if we ran out of session, we need to restore our previously stored * state. */ diff --git a/security/nss/lib/ssl/ssl3con.c b/security/nss/lib/ssl/ssl3con.c index 614269292..8ed3e0e8d 100644 --- a/security/nss/lib/ssl/ssl3con.c +++ b/security/nss/lib/ssl/ssl3con.c @@ -2392,6 +2392,10 @@ ssl3_ComputeHandshakeHashes(sslSocket * ss, PORT_Assert( ssl_HaveSSL3HandshakeLock(ss) ); isTLS = (PRBool)(spec->version > SSL_LIBRARY_VERSION_3_0); + if (!spec->master_secret) { + PORT_SetError(SSL_ERROR_RX_UNEXPECTED_HANDSHAKE); + return SECFailure; + } md5 = PK11_CloneContext(ssl3->hs.md5); if (md5 == NULL) { |