diff --git a/mozilla/security/manager/ssl/src/nsNSSIOLayer.cpp b/mozilla/security/manager/ssl/src/nsNSSIOLayer.cpp --- a/mozilla/security/manager/ssl/src/nsNSSIOLayer.cpp +++ b/mozilla/security/manager/ssl/src/nsNSSIOLayer.cpp @@ -3339,16 +3339,20 @@ cancel_and_failure(nsNSSSocketInfo* info { infoObject->SetCanceled(PR_TRUE); return SECFailure; } static SECStatus nsNSSBadCertHandler(void *arg, PRFileDesc *sslSocket) { + // cert was revoked, don't do anything else + if (PR_GetError() == SEC_ERROR_REVOKED_CERTIFICATE) + return SECFailure; + nsNSSShutDownPreventionLock locker; nsNSSSocketInfo* infoObject = (nsNSSSocketInfo *)arg; if (!infoObject) return SECFailure; if (nsSSLThread::exitRequested()) return cancel_and_failure(infoObject);