Xcode 4.6 では、clang 静的アナライザーが「CFRelease の呼び出しで Null ポインター引数」について警告します。
アナライザーの警告のスクリーンショットを次に示します。
コピーして貼り付ける場合のコードは次のとおりです。
- (void)test
{
CFUUIDRef aUUID = CFUUIDCreate(kCFAllocatorDefault);
[self setUUID:aUUID];
CFRelease(aUUID);
}
- (void)setUUID:(CFUUIDRef)uuid
{
_uuid = uuid ? CFRetain(uuid) : CFUUIDCreate(kCFAllocatorDefault);
}
なぜ私に警告しているのかわかりません。aUUID
ヌルポインターになることはできませんよね?使用しているツールよりもむしろ自分自身を信用しないことを学んだので、ここで質問しています。誰かが私に欠けているものを説明してくれたらとてもうれしいです。