diff --git a/mozilla/security/manager/ssl/src/nsNSSCertificateDB.cpp b/mozilla/security/manager/ssl/src/nsNSSCertificateDB.cpp index 2f80c605448..fe36bb6001f 100644 --- a/mozilla/security/manager/ssl/src/nsNSSCertificateDB.cpp +++ b/mozilla/security/manager/ssl/src/nsNSSCertificateDB.cpp @@ -140,11 +140,15 @@ nsNSSCertificateDB::FindCertByDBKey(const char *aDBkey, nsISupports *aToken, CERTIssuerAndSN issuerSN; unsigned long moduleID,slotID; *_cert = nsnull; - if (!aDBkey) return NS_ERROR_FAILURE; + if (!aDBkey || !*aDBkey) + return NS_ERROR_FAILURE; + dummy = NSSBase64_DecodeBuffer(nsnull, &keyItem, aDBkey, (PRUint32)PL_strlen(aDBkey)); - CERTCertificate *cert; + if (!dummy) + return NS_ERROR_FAILURE; + CERTCertificate *cert; // someday maybe we can speed up the search using the moduleID and slotID moduleID = NS_NSS_GET_LONG(keyItem.data); slotID = NS_NSS_GET_LONG(&keyItem.data[NS_NSS_LONG]);