diff options
| author | Rene Gollent <anevilyak@gmail.com> | 2012-07-10 22:06:01 -0400 |
|---|---|---|
| committer | Rene Gollent <anevilyak@gmail.com> | 2012-07-10 22:06:01 -0400 |
| commit | 369149622268fa194fc43e15b4f6889db15949c6 (patch) | |
| tree | e5731bb08952a9277bf796c6b32636715b788902 | |
| parent | 36c85ca8df5a43d6e716579099c25018e41bedf8 (diff) | |
- The buffer that the debugger used to retrieve messages from
the debug port was slightly too small for the largest of the message
data structs (currently 1100 bytes), causing some types of debug events
to get truncated. This resulted in image creation/deletion events being
received with a truncated image_info struct, which would result in several
fields being returned with random values, most notably the text/data base
and size fields. Consequently, searching those images for an address within
them would fail, leading to #8709. It's possible but not yet confirmed
that this bug is also responsible for #8710, need to test further.
| -rw-r--r-- | src/apps/debugger/debugger_interface/DebuggerInterface.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/apps/debugger/debugger_interface/DebuggerInterface.cpp b/src/apps/debugger/debugger_interface/DebuggerInterface.cpp index c98ca870d0..a1c9a05d62 100644 --- a/src/apps/debugger/debugger_interface/DebuggerInterface.cpp +++ b/src/apps/debugger/debugger_interface/DebuggerInterface.cpp @@ -312,7 +312,7 @@ status_t DebuggerInterface::GetNextDebugEvent(DebugEvent*& _event) { while (true) { - char buffer[1024]; + char buffer[2048]; int32 messageCode; ssize_t size = read_port(fDebuggerPort, &messageCode, buffer, sizeof(buffer)); @@ -324,7 +324,7 @@ DebuggerInterface::GetNextDebugEvent(DebugEvent*& _event) } if (messageCode <= B_DEBUGGER_MESSAGE_HANDED_OVER) { - debug_debugger_message_data message; + debug_debugger_message_data message; memcpy(&message, buffer, size); if (message.origin.team != fTeamID) continue; |
