NSErrorChecker: remove quoting the parameter name in the diagnostic until we actually include it's name.

This is a possible regression of moving to using ImplicitNullDerefEvent.
Fixing this for real (including the parameter name) requires more
plumbing in ImplicitNullDerefEvent.  This is just a stop gap fix.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171502 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp b/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
index 8b5e4b6..d7c8023 100644
--- a/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
+++ b/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
@@ -23,7 +23,7 @@
 #include "clang/StaticAnalyzer/Core/CheckerManager.h"
 #include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
 #include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h"
-#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/SmallString.h"
 #include "llvm/Support/raw_ostream.h"
 
 using namespace clang;
@@ -252,18 +252,15 @@
     return;
 
   // Storing to possible null NSError/CFErrorRef out parameter.
+  llvm::SmallString<128> Buf;
+  llvm::raw_svector_ostream os(Buf);
 
-  // Emit an error.
-  std::string err;
-  llvm::raw_string_ostream os(err);
-    os << "Potential null dereference.  According to coding standards ";
+  os << "Potential null dereference.  According to coding standards ";
+  os << (isNSError
+         ? "in 'Creating and Returning NSError Objects' the parameter"
+         : "documented in CoreFoundation/CFError.h the parameter");
 
-  if (isNSError)
-    os << "in 'Creating and Returning NSError Objects' the parameter '";
-  else
-    os << "documented in CoreFoundation/CFError.h the parameter '";
-
-  os  << "' may be null.";
+  os  << " may be null";
 
   BugType *bug = 0;
   if (isNSError)