X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/79b9da22a1f4b26279940d285c1bc28ce4e99252..7e6b461318c8a779d91381531435a68ee4e8b6ed:/OSX/libsecurity_cms/lib/CMSDecoder.cpp?ds=sidebyside diff --git a/OSX/libsecurity_cms/lib/CMSDecoder.cpp b/OSX/libsecurity_cms/lib/CMSDecoder.cpp index a6fb2688..9fe2ecb9 100644 --- a/OSX/libsecurity_cms/lib/CMSDecoder.cpp +++ b/OSX/libsecurity_cms/lib/CMSDecoder.cpp @@ -25,8 +25,8 @@ * CMSDecoder.cpp - Interface for decoding CMS messages. */ -#include "CMSDecoder.h" -#include "CMSPrivate.h" +#include +#include #include "CMSUtils.h" #include <../libsecurity_codesigning/lib/csutilities.h> @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -428,7 +429,7 @@ OSStatus CMSDecoderCopySignerStatus( SecTrustRef *secTrust, /* optional; RETURNED */ OSStatus *certVerifyResultCode) /* optional; RETURNED */ { - if((cmsDecoder == NULL) || (cmsDecoder->decState != DS_Final) || (!policyOrArray)) { + if((cmsDecoder == NULL) || (cmsDecoder->decState != DS_Final) || (!policyOrArray) || !signerStatus) { return errSecParam; } @@ -494,8 +495,7 @@ OSStatus CMSDecoderCopySignerStatus( if(secTrust != NULL) { *secTrust = theTrust; /* we'll release our reference at the end */ - if (theTrust) - CFRetain(theTrust); + CFRetainSafe(theTrust); } SecCmsSignerInfoRef signerInfo = SecCmsSignedDataGetSignerInfo(cmsDecoder->signedData, (int)signerIndex);