mirror of
https://github.com/xemu-project/xemu.git
synced 2025-02-21 04:45:25 +00:00
monitor.c: Fix infinite loop in monitor's auto-complete
The QEMU monitor enters an infinite loop when trying to auto-complete commands that accept only optional parameters. The commands currently affected by this issue are 'info registers' and 'info mtree'. Reported-by: Dimitris Karagkasidis <t.pagef.lt@gmail.com> Fixes: 48fe86f6400574165979e0db6f5937ad487b6888 Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20180213125143.23488-1-dgilbert@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
149da2f063
commit
bf67f1c0b1
@ -3696,7 +3696,7 @@ static void monitor_find_completion_by_table(Monitor *mon,
|
||||
{
|
||||
const char *cmdname;
|
||||
int i;
|
||||
const char *ptype, *str, *name;
|
||||
const char *ptype, *old_ptype, *str, *name;
|
||||
const mon_cmd_t *cmd;
|
||||
BlockBackend *blk = NULL;
|
||||
|
||||
@ -3741,7 +3741,9 @@ static void monitor_find_completion_by_table(Monitor *mon,
|
||||
}
|
||||
}
|
||||
str = args[nb_args - 1];
|
||||
while (*ptype == '-' && ptype[1] != '\0') {
|
||||
old_ptype = NULL;
|
||||
while (*ptype == '-' && old_ptype != ptype) {
|
||||
old_ptype = ptype;
|
||||
ptype = next_arg_type(ptype);
|
||||
}
|
||||
switch(*ptype) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user