[analyzer] Fix a memory error in r261935 caught by the Windows bots.

It was using a temporary StringRef after its underlying storage was freed.

llvm-svn: 261944
diff --git a/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
index 596ad70..263da20 100644
--- a/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
@@ -162,9 +162,9 @@
   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();