aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2012-01-18 03:41:19 +0000
committerNick Lewycky <nicholas@mxc.ca>2012-01-18 03:41:19 +0000
commitf6b56374e4e5b9f0078efac5ed4918c3a04296f7 (patch)
treeaf837c4d814b45099c6d3220775fc0452b692a9d /lib/CodeGen/CodeGenModule.cpp
parent40b993a826728214c869ee4fbc9d296a2e1e1f71 (diff)
Fix a string over-run detected by ASAN.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148375 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenModule.cpp')
-rw-r--r--lib/CodeGen/CodeGenModule.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp
index 4f074eb178..c2c4d0887b 100644
--- a/lib/CodeGen/CodeGenModule.cpp
+++ b/lib/CodeGen/CodeGenModule.cpp
@@ -883,8 +883,9 @@ namespace {
unsigned BuiltinID = FD->getBuiltinID();
if (!BuiltinID)
return true;
- const char *BuiltinName = BI.GetName(BuiltinID) + strlen("__builtin_");
- if (Name == BuiltinName) {
+ StringRef BuiltinName = BI.GetName(BuiltinID);
+ if (BuiltinName.startswith("__builtin_") &&
+ Name == BuiltinName.slice(strlen("__builtin_"), StringRef::npos)) {
Result = true;
return false;
}