X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5c19dc3ae3bd8e40a9c028b0deddd50ff337692c..07691282a056c4efea71e1e505527601e8cc166b:/OSX/libsecurity_transform/lib/Monitor.cpp diff --git a/OSX/libsecurity_transform/lib/Monitor.cpp b/OSX/libsecurity_transform/lib/Monitor.cpp index 2b9958d3..1cbc19a1 100644 --- a/OSX/libsecurity_transform/lib/Monitor.cpp +++ b/OSX/libsecurity_transform/lib/Monitor.cpp @@ -45,11 +45,8 @@ void BlockMonitor::AttributeChanged(CFStringRef name, CFTypeRef value) } mSeenFinal = isFinal; - - if (realValue) - { - CFRetain(realValue); - } + + CFRetainSafe(realValue); if (mDispatchQueue == NULL) { @@ -74,7 +71,7 @@ BlockMonitor::BlockMonitor(dispatch_queue_t queue, SecMessageBlock block) : Moni block(value, error, isFinal); if (value) { - CFRelease(value); + CFReleaseNull(value); } if (isFinal && mGroup) { LastValueSent(); @@ -98,7 +95,7 @@ void BlockMonitor::LastValueSent() Transform *rootGroup = this->GetRootGroup(); CFTypeRef rootGroupRef = rootGroup->GetCFObject(); dispatch_async(rootGroup->mDispatchQueue, ^{ - CFRelease(rootGroupRef); + CFReleaseSafe(rootGroupRef); }); }