From: Nick Lewycky Date: Wed, 18 Jan 2012 03:41:19 +0000 (+0000) Subject: Fix a string over-run detected by ASAN. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f6b56374e4e5b9f0078efac5ed4918c3a04296f7;p=clang 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 --- 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; }