xazax.hun requested changes to this revision. xazax.hun added a comment. This revision now requires changes to proceed.
Some comments, mostly nits inline. ================ Comment at: lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp:149 + C.addTransition(State); return; + } ---------------- Nit: This return is redundant. ================ Comment at: lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp:202 + markPtrSymbolsReleased(Call, State, ObjRegion, C); } } ---------------- Nit: no need for braces here. ================ Comment at: lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp:204 } + return; +} ---------------- Nit: redundant return. ================ Comment at: lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp:212 + // Check [string.require] / first point. + if (const auto *FC = dyn_cast<AnyFunctionCall>(&Call)) { + const FunctionDecl *FD = FC->getDecl(); ---------------- Shouldn't we also check if the function is a standard library function? Or do we assume that user functions also invalidate the strings? ================ Comment at: lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp:213 + if (const auto *FC = dyn_cast<AnyFunctionCall>(&Call)) { + const FunctionDecl *FD = FC->getDecl(); + for (unsigned I = 0, E = FD->getNumParams(); I != E; ++I) { ---------------- I am not sure if we always have a `Decl` here, I am afraid this might return null sometimes. Please add a test case with a function pointer (received as an argument in a top level function). ================ Comment at: lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp:227 } + return; } ---------------- Nit: redundant return. ================ Comment at: lib/StaticAnalyzer/Checkers/MallocChecker.cpp:2934 + } else if (const auto *CallE = dyn_cast<CallExpr>(S)) { + OS << CallE->getDirectCallee()->getNameAsString(); } ---------------- I think `getDirectCallee` might fail and return `nullptr`. One more reason to test function pointers :) Repository: rC Clang https://reviews.llvm.org/D49656 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits