summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/tools/lldb-mi/MICmnResources.cpp1
-rw-r--r--lldb/tools/lldb-mi/MICmnResources.h1
-rw-r--r--lldb/tools/lldb-mi/MICmnStreamStdout.cpp6
3 files changed, 2 insertions, 6 deletions
diff --git a/lldb/tools/lldb-mi/MICmnResources.cpp b/lldb/tools/lldb-mi/MICmnResources.cpp
index 69420ba90d7..027dffbdea5 100644
--- a/lldb/tools/lldb-mi/MICmnResources.cpp
+++ b/lldb/tools/lldb-mi/MICmnResources.cpp
@@ -176,7 +176,6 @@ const CMICmnResources::SRsrcTextData CMICmnResources::ms_pResourceId2TextData[]
{IDS_DRIVER_ERR_MAINLOOP, "Driver. Error in do main loop. %s"},
{IDS_DRIVER_ERR_LOCAL_DEBUG_NOT_IMPL, "Driver. --executable argument given. Local debugging is not implemented."},
{IDS_DRIVER_ERR_LOCAL_DEBUG_INIT, "Driver. --executable argument given. Initialising local debugging failed."},
- {IDS_STDOUT_ERR_NOT_ALL_DATA_WRITTEN, "Stdout. Not all data was written to stream. The data '%s'"},
{IDS_STDERR_ERR_NOT_ALL_DATA_WRITTEN, "Stderr. Not all data was written to stream. The data '%s'"},
{IDS_CMD_ARGS_ERR_N_OPTIONS_REQUIRED, "Command Args. Missing options, %d or more required"},
{IDS_CMD_ARGS_ERR_OPTION_NOT_FOUND, "Command Args. Option '%s' not found"},
diff --git a/lldb/tools/lldb-mi/MICmnResources.h b/lldb/tools/lldb-mi/MICmnResources.h
index 68523034d18..7d8cf6b905d 100644
--- a/lldb/tools/lldb-mi/MICmnResources.h
+++ b/lldb/tools/lldb-mi/MICmnResources.h
@@ -190,7 +190,6 @@ enum
IDS_DRIVER_WAITING_STDIN_DATA,
- IDS_STDOUT_ERR_NOT_ALL_DATA_WRITTEN,
IDS_STDERR_ERR_NOT_ALL_DATA_WRITTEN,
IDS_CMD_ARGS_ERR_N_OPTIONS_REQUIRED,
diff --git a/lldb/tools/lldb-mi/MICmnStreamStdout.cpp b/lldb/tools/lldb-mi/MICmnStreamStdout.cpp
index 3fc7bf933b1..3f4ab0e024b 100644
--- a/lldb/tools/lldb-mi/MICmnStreamStdout.cpp
+++ b/lldb/tools/lldb-mi/MICmnStreamStdout.cpp
@@ -156,11 +156,9 @@ CMICmnStreamStdout::WritePriv(const CMIUtilString &vText, const CMIUtilString &v
// Send this text to stdout
const MIint status = ::fputs(vText.c_str(), stdout);
if (status == EOF)
- {
- const CMIUtilString errMsg(CMIUtilString::Format(MIRSRC(IDS_STDOUT_ERR_NOT_ALL_DATA_WRITTEN), vText.c_str()));
- SetErrorDescription(errMsg);
+ // Don't call the CMICmnBase::SetErrorDescription() because it will cause a stack overflow:
+ // CMICmnBase::SetErrorDescription -> CMICmnStreamStdout::Write -> CMICmnStreamStdout::WritePriv -> CMICmnBase::SetErrorDescription
bOk = MIstatus::failure;
- }
else
{
::fprintf(stdout, "\n");
OpenPOWER on IntegriCloud