X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/b1ab9ed8d0e0f1c3b66d7daa8fd5564444c56195..e3d3b979fd185d8303f28a937baa53a187fb8c7d:/libsecurity_cdsa_utilities/lib/cssmpods.cpp?ds=inline diff --git a/libsecurity_cdsa_utilities/lib/cssmpods.cpp b/libsecurity_cdsa_utilities/lib/cssmpods.cpp index 60e5ddd0..d17dba41 100644 --- a/libsecurity_cdsa_utilities/lib/cssmpods.cpp +++ b/libsecurity_cdsa_utilities/lib/cssmpods.cpp @@ -133,6 +133,12 @@ CssmSubserviceUid::CssmSubserviceUid(const CSSM_GUID &guid, bool CssmSubserviceUid::operator == (const CSSM_SUBSERVICE_UID &otherUid) const { + // make sure we don't crash if we get bad data + if (&otherUid == 0x0) + { + return false; + } + const CssmSubserviceUid &other = CssmSubserviceUid::overlay(otherUid); return subserviceId() == other.subserviceId() && subserviceType() == other.subserviceType() @@ -141,6 +147,11 @@ bool CssmSubserviceUid::operator == (const CSSM_SUBSERVICE_UID &otherUid) const bool CssmSubserviceUid::operator < (const CSSM_SUBSERVICE_UID &otherUid) const { + if (&otherUid == 0x0) + { + return false; + } + const CssmSubserviceUid &other = CssmSubserviceUid::overlay(otherUid); if (subserviceId() < other.subserviceId()) return true;