================ @@ -141,6 +158,42 @@ class RawPtrRefCallArgsChecker } } + void visitObjCMessageExpr(const ObjCMessageExpr *E, const Decl *D) const { + if (BR->getSourceManager().isInSystemHeader(E->getExprLoc())) + return; + + auto Selector = E->getSelector(); + if (auto *Receiver = E->getInstanceReceiver()->IgnoreParenCasts()) { + std::optional<bool> IsUnsafe = isUnsafePtr(E->getReceiverType()); + if (IsUnsafe && *IsUnsafe && !isPtrOriginSafe(Receiver)) { + if (auto *InnerMsg = dyn_cast<ObjCMessageExpr>(Receiver)) { + auto InnerSelector = InnerMsg->getSelector(); + if (InnerSelector.getNameForSlot(0) == "alloc" && + Selector.getNameForSlot(0).starts_with("init")) ---------------- rniwa wrote:
I don't think so. As far as I know, "init" is never capitalized. https://github.com/llvm/llvm-project/pull/128586 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits