Ensure we got an nsISSLStatus when deserializing in TransportSecurityInfo.

This commit is contained in:
wolfbeast 2018-10-04 22:24:52 +02:00 committed by Roy Tam
commit 55c45dc7f2
2 changed files with 92 additions and 1 deletions

View file

@ -429,7 +429,12 @@ TransportSecurityInfo::Read(nsIObjectInputStream* stream)
if (NS_FAILED(rv)) {
return rv;
}
mSSLStatus = BitwiseCast<nsSSLStatus*, nsISupports*>(supports.get());
nsCOMPtr<nsISSLStatus> castGuard(do_QueryInterface(supports));
if (castGuard) {
mSSLStatus = BitwiseCast<nsSSLStatus*, nsISSLStatus*>(castGuard.get());
} else {
mSSLStatus = nullptr;
}
nsCOMPtr<nsISupports> failedCertChainSupports;
rv = NS_ReadOptionalObject(stream, true, getter_AddRefs(failedCertChainSupports));