#include <Security/SecTrustedApplication.h>
#include <Security/SecTrustedApplicationPriv.h>
#include <security_keychain/Access.h>
+#include <security_utilities/casts.h>
+#include <utilities/SecCFRelease.h>
#include "SecBridge.h"
#include <sys/param.h>
-#undef secdebug
#include <utilities/SecCFWrappers.h>
{
result = (CFStringRef)CFDictionaryGetValue(gTagMapping, aNum);
}
+ CFReleaseSafe(aNum);
return result;
}
CSSM_ACL_PROCESS_SUBJECT_SELECTOR selector =
{
CSSM_ACL_PROCESS_SELECTOR_CURRENT_VERSION, // selector version
- ownerType,
+ int_cast<UInt32, uint16>(ownerType),
userId,
groupId
};
CFRelease(debugStr);
#endif
- CSSM_ACL_AUTHORIZATION_TAG rights[numAcls];
+ CFIndex rightsSize = numAcls > 0 ? numAcls : 1;
+
+ CSSM_ACL_AUTHORIZATION_TAG rights[rightsSize];
memset(rights, 0, sizeof(rights));
for (CFIndex iCnt = 0; iCnt < numAcls; iCnt++)
{ CSSM_LIST_TYPE_UNKNOWN, &subject1, &subject2 },
false, // Delegate
// rights for this entry
- { (uint32)(sizeof(rights) / sizeof(rights[0])), rights },
+ { (uint32)numAcls, rights },
// rest is defaulted
}
}
if (!trustedAppsURL)
goto xit;
- if ( trustedAppListFileNameWithoutExtension )
- CFRelease(trustedAppListFileNameWithoutExtension);
-
if (!CFURLCreateDataAndPropertiesFromResource(kCFAllocatorDefault,trustedAppsURL,&xmlDataRef,NULL,NULL,&errorCode))
goto xit;
trustedAppList = (CFArrayRef)trustedAppsPlist;
xit:
+ CFReleaseNull(trustedAppListFileNameWithoutExtension);
if (bundleURL)
CFRelease(bundleURL);
if (secBundle)