summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2012-05-21 19:40:38 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2012-05-21 19:40:38 +0000
commit9bbf481f0203bd97038b4c9d8001476e0ac03c90 (patch)
tree02b875954fc29bfb5c8664427d99edfb583d28bc /clang/lib
parentfc732755ad2a281d18c5161c852be5301e2f84a8 (diff)
downloadbcm5719-llvm-9bbf481f0203bd97038b4c9d8001476e0ac03c90.tar.gz
bcm5719-llvm-9bbf481f0203bd97038b4c9d8001476e0ac03c90.zip
Analyzer: Fix PR12905, a crash when encountering a call to a function named "C".
While there clean up indentation. llvm-svn: 157204
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp b/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp
index 2003c8d29c8..a00eece506c 100644
--- a/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp
@@ -161,16 +161,15 @@ bool CallOrObjCMessage::hasNonZeroCallbackArg() const {
}
bool CallOrObjCMessage::isCFCGAllowingEscape(StringRef FName) {
- if (FName[0] == 'C' && (FName[1] == 'F' || FName[1] == 'G'))
- if (StrInStrNoCase(FName, "InsertValue") != StringRef::npos||
- StrInStrNoCase(FName, "AddValue") != StringRef::npos ||
- StrInStrNoCase(FName, "SetValue") != StringRef::npos ||
- StrInStrNoCase(FName, "WithData") != StringRef::npos ||
- StrInStrNoCase(FName, "AppendValue") != StringRef::npos||
- StrInStrNoCase(FName, "SetAttribute") != StringRef::npos) {
- return true;
- }
- return false;
+ if (!FName.startswith("CF") && !FName.startswith("CG"))
+ return false;
+
+ return StrInStrNoCase(FName, "InsertValue") != StringRef::npos ||
+ StrInStrNoCase(FName, "AddValue") != StringRef::npos ||
+ StrInStrNoCase(FName, "SetValue") != StringRef::npos ||
+ StrInStrNoCase(FName, "WithData") != StringRef::npos ||
+ StrInStrNoCase(FName, "AppendValue") != StringRef::npos ||
+ StrInStrNoCase(FName, "SetAttribute") != StringRef::npos;
}
OpenPOWER on IntegriCloud