X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5c19dc3ae3bd8e40a9c028b0deddd50ff337692c..90dc47c27df1983f6ebc252b0c4b94c8718fe52d:/OSX/libsecurity_transform/lib/Source.cpp diff --git a/OSX/libsecurity_transform/lib/Source.cpp b/OSX/libsecurity_transform/lib/Source.cpp index ad26b5b4..3bdbe5c7 100644 --- a/OSX/libsecurity_transform/lib/Source.cpp +++ b/OSX/libsecurity_transform/lib/Source.cpp @@ -17,7 +17,7 @@ Source::Source(CFStringRef sourceObjectName, Transform* destination, CFStringRef mLastValue = NULL; mDispatchQueue = MyDispatchQueueCreate(queueName_cstr, NULL); free((void*)queueName_cstr); - CFRelease(queueName); + CFReleaseNull(queueName); } @@ -26,7 +26,7 @@ Source::~Source() { if (mLastValue != NULL) { - CFRelease(mLastValue); + CFReleaseNull(mLastValue); } dispatch_release(mDispatchQueue); @@ -48,19 +48,10 @@ void Source::SetValue(CFTypeRef value) return; } - if (mLastValue != NULL) // is there an existing value? If so, release it - { - CFRelease(mLastValue); - } - - if (value != NULL) - { - mLastValue = CFRetain(value); - } - else - { - mLastValue = NULL; - } + // is there an existing value? If so, release it + CFReleaseNull(mLastValue); + + mLastValue = CFRetainSafe(value); }