From 95379e33779a5802dc7d5dbb6dd3919cc4607bb9 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Thu, 4 Oct 2018 22:24:52 +0200 Subject: Ensure we got an nsISSLStatus when deserializing in TransportSecurityInfo. --- security/manager/ssl/TransportSecurityInfo.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'security/manager/ssl/TransportSecurityInfo.cpp') diff --git a/security/manager/ssl/TransportSecurityInfo.cpp b/security/manager/ssl/TransportSecurityInfo.cpp index 0e2238ad0..3c7023302 100644 --- a/security/manager/ssl/TransportSecurityInfo.cpp +++ b/security/manager/ssl/TransportSecurityInfo.cpp @@ -429,7 +429,12 @@ TransportSecurityInfo::Read(nsIObjectInputStream* stream) if (NS_FAILED(rv)) { return rv; } - mSSLStatus = BitwiseCast(supports.get()); + nsCOMPtr castGuard(do_QueryInterface(supports)); + if (castGuard) { + mSSLStatus = BitwiseCast(castGuard.get()); + } else { + mSSLStatus = nullptr; + } nsCOMPtr failedCertChainSupports; rv = NS_ReadOptionalObject(stream, true, getter_AddRefs(failedCertChainSupports)); -- cgit v1.2.3