diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2012-01-18 03:41:19 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2012-01-18 03:41:19 +0000 |
commit | f6b56374e4e5b9f0078efac5ed4918c3a04296f7 (patch) | |
tree | af837c4d814b45099c6d3220775fc0452b692a9d /lib/CodeGen/CodeGenModule.cpp | |
parent | 40b993a826728214c869ee4fbc9d296a2e1e1f71 (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.cpp | 5 |
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; } |