gdb(4): Support empty qSupported queries

Technically a client may send a qSupported query without specifying any
client features.  We should respond with our supported list in that case
instead of bailing with error.

Reported by:	rlibby
Reviewed by:	emaste, rlibby, vangyzen
Sponsored by:	Isilon
Differential Revision:	https://reviews.freebsd.org/D26115
This commit is contained in:
Conrad Meyer
2020-08-18 20:59:10 +00:00
parent 80bd2aad68
commit 5af88677de
+8 -1
View File
@@ -204,8 +204,14 @@ gdb_do_qsupported(uint32_t *feat)
/* Parse supported host features */
*feat = 0;
if (gdb_rx_char() != ':')
switch (gdb_rx_char()) {
case ':':
break;
case EOF:
goto nofeatures;
default:
goto error;
}
while (gdb_rxsz > 0) {
tok = gdb_rxp;
@@ -250,6 +256,7 @@ gdb_do_qsupported(uint32_t *feat)
*feat |= BIT(i);
}
nofeatures:
/* Send a supported feature list back */
gdb_tx_begin(0);