From: Anna Zaks Date: Mon, 15 Aug 2011 18:42:00 +0000 (+0000) Subject: MacOSKeychainAPIChecker: Use llvm::SmallString instead of std::string (as per code... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=67f7fa471c6928eee5cd28ca3886df9b8f0e1539;p=clang MacOSKeychainAPIChecker: Use llvm::SmallString instead of std::string (as per code review for r137523). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137633 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp b/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp index 1663252cdd..497202b9a5 100644 --- a/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp @@ -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 a bug. const AllocationState *AS = State->get(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);