[PATCH] D90759: Escape command line arguments in backtraces
Luke Drummond via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 16 10:30:53 PST 2020
ldrumm updated this revision to Diff 305556.
ldrumm marked 2 inline comments as not done.
ldrumm added a comment.
Patch updated to not insert trailing blank
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90759/new/
https://reviews.llvm.org/D90759
Files:
llvm/lib/Support/PrettyStackTrace.cpp
Index: llvm/lib/Support/PrettyStackTrace.cpp
===================================================================
--- llvm/lib/Support/PrettyStackTrace.cpp
+++ llvm/lib/Support/PrettyStackTrace.cpp
@@ -25,6 +25,7 @@
#include <cassert>
#include <cstdarg>
#include <cstdio>
+#include <cstring>
#include <tuple>
#ifdef HAVE_CRASHREPORTERCLIENT_H
@@ -253,8 +254,16 @@
void PrettyStackTraceProgram::print(raw_ostream &OS) const {
OS << "Program arguments: ";
// Print the argument list.
- for (unsigned i = 0, e = ArgC; i != e; ++i)
- OS << ArgV[i] << ' ';
+ for (int I = 0; I < ArgC; ++I) {
+ const bool HaveSpace = ::strchr(ArgV[I], ' ');
+ if (I)
+ OS << ' ';
+ if (HaveSpace)
+ OS << '"';
+ OS.write_escaped(ArgV[I]);
+ if (HaveSpace)
+ OS << '"';
+ }
OS << '\n';
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90759.305556.patch
Type: text/x-patch
Size: 820 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201116/8e0f24dc/attachment.bin>
More information about the llvm-commits
mailing list