[cfe-commits] r159459 - /cfe/trunk/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
Ted Kremenek
kremenek at apple.com
Fri Jun 29 13:44:58 PDT 2012
Author: kremenek
Date: Fri Jun 29 15:44:58 2012
New Revision: 159459
URL: http://llvm.org/viewvc/llvm-project?rev=159459&view=rev
Log:
Tweak insecureAPI analyzer checks to have the ability to be individually disabled.
The solution is a bit inefficient: it creates N checkers, one for each check, and
each check does a dispatch on the function name. This is redundant, but we can fix
this once we have the proper ability to enable/disable subchecks.
Fixes <rdar://problem/11780180>.
Modified:
cfe/trunk/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp?rev=159459&r1=159458&r2=159459&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp Fri Jun 29 15:44:58 2012
@@ -379,13 +379,6 @@
//===----------------------------------------------------------------------===//
void WalkAST::checkCall_mktemp(const CallExpr *CE, const FunctionDecl *FD) {
- if (!filter.check_mktemp) {
- // Fall back to the security check of looking for enough 'X's in the
- // format string, since that is a less severe warning.
- checkCall_mkstemp(CE, FD);
- return;
- }
-
const FunctionProtoType *FPT
= dyn_cast<FunctionProtoType>(FD->getType().IgnoreParens());
if(!FPT)
@@ -769,8 +762,9 @@
}
#define REGISTER_CHECKER(name) \
+namespace { class Checker_##name : public SecuritySyntaxChecker {}; }\
void ento::register##name(CheckerManager &mgr) {\
- mgr.registerChecker<SecuritySyntaxChecker>()->filter.check_##name = true;\
+ mgr.registerChecker<Checker_##name>()->filter.check_##name = true;\
}
REGISTER_CHECKER(gets)
More information about the cfe-commits
mailing list