]> granicus.if.org Git - clang/commitdiff
MacOSKeychainAPIChecker: Use llvm::SmallString instead of std::string (as per code...
authorAnna Zaks <ganna@apple.com>
Mon, 15 Aug 2011 18:42:00 +0000 (18:42 +0000)
committerAnna Zaks <ganna@apple.com>
Mon, 15 Aug 2011 18:42:00 +0000 (18:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137633 91177308-0d34-0410-b5e6-96231b3b80d8

lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp

index 1663252cdd3643d63d0a7741cc7459a48284bd19..497202b9a5d7e4932619116720e64218edca0c8d 100644 (file)
@@ -234,8 +234,8 @@ void MacOSKeychainAPIChecker::checkPreStmt(const CallExpr *CE,
         if (!N)
           return;
         initBugType();
-        std::string sbuf;
-        llvm::raw_string_ostream os(sbuf);
+        llvm::SmallString<128> sbuf;
+        llvm::raw_svector_ostream os(sbuf);
         unsigned int DIdx = FunctionsToTrack[AS->AllocatorIdx].DeallocatorIdx;
         os << "Allocated data should be released before another call to "
            << "the allocator: missing a call to '"
@@ -272,7 +272,7 @@ void MacOSKeychainAPIChecker::checkPreStmt(const CallExpr *CE,
   if (!ArgSM && !RegionArgIsBad)
     return;
 
-  // If trying to free data which has not been allocated yet, report as bug.
+  // If trying to free data which has not been allocated yet, report as bug.
   const AllocationState *AS = State->get<AllocatedData>(ArgSM);
   if (!AS || RegionArgIsBad) {
     // It is possible that this is a false positive - the argument might
@@ -299,8 +299,8 @@ void MacOSKeychainAPIChecker::checkPreStmt(const CallExpr *CE,
       return;
     initBugType();
 
-    std::string sbuf;
-    llvm::raw_string_ostream os(sbuf);
+    llvm::SmallString<80> sbuf;
+    llvm::raw_svector_ostream os(sbuf);
     os << "Allocator doesn't match the deallocator: '"
        << FunctionsToTrack[PDeallocIdx].Name << "' should be used.";
     RangedBugReport *Report = new RangedBugReport(*BT, os.str(), N);
@@ -402,8 +402,8 @@ RangedBugReport *MacOSKeychainAPIChecker::
                                          ExplodedNode *N) const {
   const ADFunctionInfo &FI = FunctionsToTrack[AS.AllocatorIdx];
   initBugType();
-  std::string sbuf;
-  llvm::raw_string_ostream os(sbuf);
+  llvm::SmallString<70> sbuf;
+  llvm::raw_svector_ostream os(sbuf);
   os << "Allocated data is not released: missing a call to '"
       << FunctionsToTrack[FI.DeallocatorIdx].Name << "'.";
   RangedBugReport *Report = new RangedBugReport(*BT, os.str(), N);