forked from OSchip/llvm-project
Fix handling of gdbserver binary packets with escape characters.
We were not properly handling the escape character 0x7d ('}') in responses from gdbserver which used the binary protocol. llvm-svn: 202062
This commit is contained in:
parent
039697513e
commit
3c5d3339be
|
@ -497,6 +497,13 @@ GDBRemoteCommunication::CheckForPacket (const uint8_t *src, size_t src_len, Stri
|
|||
for (int i = 0; i < repeat_count; ++i)
|
||||
packet_str.push_back(char_to_repeat);
|
||||
}
|
||||
else if (*c == 0x7d)
|
||||
{
|
||||
// 0x7d is the escape character. The next character is to
|
||||
// be XOR'd with 0x20.
|
||||
char escapee = *++c ^ 0x20;
|
||||
packet_str.push_back(escapee);
|
||||
}
|
||||
else
|
||||
{
|
||||
packet_str.push_back(*c);
|
||||
|
|
Loading…
Reference in New Issue