diff options
-rw-r--r-- | lldb/tools/lldb-mi/MICmnResources.cpp | 1 | ||||
-rw-r--r-- | lldb/tools/lldb-mi/MICmnResources.h | 1 | ||||
-rw-r--r-- | lldb/tools/lldb-mi/MICmnStreamStdout.cpp | 6 |
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"); |