Author: dcoughlin Date: Thu Feb 25 18:23:41 2016 New Revision: 261944 URL: http://llvm.org/viewvc/llvm-project?rev=261944&view=rev Log: [analyzer] Fix a memory error in r261935 caught by the Windows bots.
It was using a temporary StringRef after its underlying storage was freed. Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp?rev=261944&r1=261943&r2=261944&view=diff ============================================================================== --- cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp (original) +++ cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp Thu Feb 25 18:23:41 2016 @@ -162,9 +162,9 @@ void ObjCSuperDeallocChecker::checkLocat StringRef Desc = StringRef(); auto *IvarRegion = dyn_cast_or_null<ObjCIvarRegion>(PriorSubRegion); + std::string Buf; + llvm::raw_string_ostream OS(Buf); if (IvarRegion) { - std::string Buf; - llvm::raw_string_ostream OS(Buf); OS << "use of instance variable '" << *IvarRegion->getDecl() << "' after the instance has been freed with call to [super dealloc]"; Desc = OS.str(); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits