diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-05-21 19:40:38 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-05-21 19:40:38 +0000 |
| commit | 9bbf481f0203bd97038b4c9d8001476e0ac03c90 (patch) | |
| tree | 02b875954fc29bfb5c8664427d99edfb583d28bc /clang/lib | |
| parent | fc732755ad2a281d18c5161c852be5301e2f84a8 (diff) | |
| download | bcm5719-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.cpp | 19 |
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; } |

