]> granicus.if.org Git - clang/commitdiff
[analyzer] Avoid an allocation in Std C function modelling
authorGabor Horvath <xazax.hun@gmail.com>
Fri, 12 May 2017 06:53:55 +0000 (06:53 +0000)
committerGabor Horvath <xazax.hun@gmail.com>
Fri, 12 May 2017 06:53:55 +0000 (06:53 +0000)
Differential Revision: https://reviews.llvm.org/D33095

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@302879 91177308-0d34-0410-b5e6-96231b3b80d8

lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp

index 93ad17cffb34d2dd11092e57b10b54a583ad968b..2f9f5d2d9cf8009300c570df3e9734e20cfb54d2 100644 (file)
@@ -440,7 +440,10 @@ StdLibraryFunctionsChecker::findFunctionSummary(const FunctionDecl *FD,
   BasicValueFactory &BVF = SVB.getBasicValueFactory();
   initFunctionSummaries(BVF);
 
-  std::string Name = FD->getQualifiedNameAsString();
+  IdentifierInfo *II = FD->getIdentifier();
+  if (!II)
+    return None;
+  StringRef Name = II->getName();
   if (Name.empty() || !C.isCLibraryFunction(FD, Name))
     return None;