X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5c19dc3ae3bd8e40a9c028b0deddd50ff337692c..07691282a056c4efea71e1e505527601e8cc166b:/OSX/libsecurity_mds/lib/MDSAttrParser.cpp diff --git a/OSX/libsecurity_mds/lib/MDSAttrParser.cpp b/OSX/libsecurity_mds/lib/MDSAttrParser.cpp index 1a8a9650..27b9261d 100644 --- a/OSX/libsecurity_mds/lib/MDSAttrParser.cpp +++ b/OSX/libsecurity_mds/lib/MDSAttrParser.cpp @@ -29,6 +29,7 @@ #include "MDSAttrUtils.h" #include "MDSDictionary.h" #include +#include #include namespace Security @@ -101,10 +102,10 @@ Parsing bundle { void MDSAttrParser::parseAttrs(CFStringRef subdir) { /* get all *.mdsinfo files */ - CFArrayRef bundleInfoFiles = CFBundleCopyResourceURLsOfType(mBundle, + CFRef bundleInfoFiles = CFBundleCopyResourceURLsOfType(mBundle, CFSTR(MDS_INFO_TYPE), subdir); - if(bundleInfoFiles == NULL) { + if(!bundleInfoFiles) { Syslog::alert("MDSAttrParser: no mdsattr files for %s", mPath); return; } @@ -128,7 +129,7 @@ void MDSAttrParser::parseAttrs(CFStringRef subdir) } // @@@ Workaround for 4234967: skip any filename beginning with "._" - CFStringRef lastComponent = CFURLCopyLastPathComponent(infoUrl); + CFRef lastComponent = CFURLCopyLastPathComponent(infoUrl); if (lastComponent) { CFStringRef resFilePfx = CFSTR("._"); // setting the search length and location like this permits, @@ -140,7 +141,6 @@ void MDSAttrParser::parseAttrs(CFStringRef subdir) range, 0/*options*/, NULL/*returned substr*/); - CFRelease(lastComponent); if (skip == true) { Syslog::warning("MDSAttrParser: ignoring resource file"); continue; @@ -149,7 +149,6 @@ void MDSAttrParser::parseAttrs(CFStringRef subdir) parseFile(infoUrl, subdir); } /* for each mdsinfo */ - CF_RELEASE(bundleInfoFiles); } void MDSAttrParser::parseFile(CFURLRef infoUrl, CFStringRef subdir) @@ -438,14 +437,11 @@ void MDSAttrParser::parseCspCapabilitiesRecord( mdsDict->lookupAttributes(&CSPCapabilitiesDict1RelInfo, outAttrs, numTopLevelAttrs); - bool fetchedFromDisk = false; - /* obtain Capabilities array */ - CFArrayRef capArray = (CFArrayRef)mdsDict->lookupWithIndirect("Capabilities", + CFRef capArray = (CFArrayRef)mdsDict->lookupWithIndirect("Capabilities", mBundle, - CFArrayGetTypeID(), - fetchedFromDisk); - if(capArray == NULL) { + CFArrayGetTypeID()); + if(!capArray) { /* well we did not get very far.... */ MPDebug("parseCspCapabilitiesRecord: no (or bad) Capabilities"); delete [] outAttrs; @@ -543,9 +539,6 @@ void MDSAttrParser::parseCspCapabilitiesRecord( MDSFreeDbRecordAttrs(outAttrs, numTopLevelAttrs); delete [] outAttrs; - if(fetchedFromDisk) { - CF_RELEASE(capArray); - } } /*