diff options
author | jpierre%netscape.com <devnull@localhost> | 2004-03-03 03:18:10 +0000 |
---|---|---|
committer | jpierre%netscape.com <devnull@localhost> | 2004-03-03 03:18:10 +0000 |
commit | b95d8d565cdbdbafd5c7a6152b17855cb61eae42 (patch) | |
tree | 9ccd1ffa840c42a376545dd132929ab757f5fb89 | |
parent | 91fffd20533134a9761b068d3729881d14ffc250 (diff) | |
download | nss-hg-b95d8d565cdbdbafd5c7a6152b17855cb61eae42.tar.gz |
Fix for 235874 - crash in PK11_DigestKey . r=wtc, nelsonbNSS_CLIENT_TAG_20040304
-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 7998c81e7..e1431b3d4 100644 --- a/security/nss/lib/pk11wrap/pk11skey.c +++ b/security/nss/lib/pk11wrap/pk11skey.c @@ -4476,6 +4476,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 1b2cd4fc1..daed7453d 100644 --- a/security/nss/lib/ssl/ssl3con.c +++ b/security/nss/lib/ssl/ssl3con.c @@ -2776,6 +2776,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; + } md5StateBuf = PK11_SaveContextAlloc(ssl3->hs.md5, md5StackBuf, sizeof md5StackBuf, &md5StateLen); |