remote: Map invalid signal numbers to GDB_SIGNAL_UNKNOWN.
authorPedro Alves <palves@redhat.com>
Tue, 22 Oct 2013 14:02:28 +0000 (15:02 +0100)
committerTom Tromey <tromey@sourceware.org>
Fri, 25 Oct 2013 14:02:59 +0000 (14:02 +0000)
commit3a09da41027b75ccbe852bd0e0460638d66db6d1
tree3ea072db1e5cfc6501d52d530c055e860ed064b8
parent4e2250753386b308ed148b39a4a3bac00f69f198
remote: Map invalid signal numbers to GDB_SIGNAL_UNKNOWN.

I realized that remote.c is not validating input here.  Currently, if
a remote stub sends in an invalid signal number (or put another way,
if a future stub sends a new signal an old GDB doesn't know about),
GDB will do out of bounds accesses in the
signal_pass/signal_stop/signal_program arrays.  It'll probably be a
long while before we add another signal number (and buggy stubs should
just be fixed), but can't hurt to be defensive.

Tested on x86_64 Fedora 17, native gdbserver.

gdb/
2013-10-22  Pedro Alves  <palves@redhat.com>

* remote.c (remote_parse_stop_reply) <'T'/'S'/'X' replies>: Map
invalid signal numbers to GDB_SIGNAL_UNKNOWN.
gdb/remote.c