]> git.ipfire.org Git - thirdparty/qemu.git/commit
gdbstub: Reject invalid RLE repeat counts
authorMarkus Armbruster <armbru@redhat.com>
Tue, 14 May 2019 18:03:08 +0000 (20:03 +0200)
committerMarkus Armbruster <armbru@redhat.com>
Wed, 22 May 2019 13:00:04 +0000 (15:00 +0200)
commit046aba169bc21c08823cfbe8d4f3b4ad116ac676
tree6bd2f82bad17e551ec649f801859324225cc37e2
parentd18dc3af478664b1d5e0dd3ace1eabb9d160f244
gdbstub: Reject invalid RLE repeat counts

"Debugging with GDB / Appendix E GDB Remote Serial Protocol /
Overview" specifies "The printable characters '#' and '$' or with a
numeric value greater than 126 must not be used."  gdb_read_byte()
only rejects values < 32.  This is wrong.  Impact depends on the caller:

* gdb_handlesig() passes a char.  Incorrectly accepts '#', '$' and
  '\127'.

* gdb_chr_receive() passes an uint8_t.  Additionally accepts
  characters with the most-significant bit set.

Correct the validity check to match the specification.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190514180311.16028-4-armbru@redhat.com>
gdbstub.c