qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] monitor.c: Fix infinite loop in monitor's auto-complete
@ 2018-02-13 12:51 Dr. David Alan Gilbert (git)
  2018-02-16 15:56 ` Stefan Hajnoczi
  2018-02-16 16:20 ` Dr. David Alan Gilbert
  0 siblings, 2 replies; 4+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-02-13 12:51 UTC (permalink / raw)
  To: qemu-devel, t.pagef.lt; +Cc: kwolf

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

Reported-by: Dimitris Karagkasidis <t.pagef.lt@gmail.com>
Fixes: 48fe86f6400574165979e0db6f5937ad487b6888
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 monitor.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/monitor.c b/monitor.c
index 0c0faec0a4..bec484440f 100644
--- a/monitor.c
+++ b/monitor.c
@@ -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) {
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] monitor.c: Fix infinite loop in monitor's auto-complete
  2018-02-13 12:51 [Qemu-devel] [PATCH] monitor.c: Fix infinite loop in monitor's auto-complete Dr. David Alan Gilbert (git)
@ 2018-02-16 15:56 ` Stefan Hajnoczi
  2018-02-16 16:23   ` Dr. David Alan Gilbert
  2018-02-16 16:20 ` Dr. David Alan Gilbert
  1 sibling, 1 reply; 4+ messages in thread
From: Stefan Hajnoczi @ 2018-02-16 15:56 UTC (permalink / raw)
  To: Dr. David Alan Gilbert (git); +Cc: qemu-devel, t.pagef.lt, kwolf

[-- Attachment #1: Type: text/plain, Size: 382 bytes --]

On Tue, Feb 13, 2018 at 12:51:43PM +0000, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> 

Please include the details of how to trigger this bug.  This helps
justify the patch as well as aiding anyone investigating/backporting the
same issue in the future.

Aside from that:
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] monitor.c: Fix infinite loop in monitor's auto-complete
  2018-02-13 12:51 [Qemu-devel] [PATCH] monitor.c: Fix infinite loop in monitor's auto-complete Dr. David Alan Gilbert (git)
  2018-02-16 15:56 ` Stefan Hajnoczi
@ 2018-02-16 16:20 ` Dr. David Alan Gilbert
  1 sibling, 0 replies; 4+ messages in thread
From: Dr. David Alan Gilbert @ 2018-02-16 16:20 UTC (permalink / raw)
  To: qemu-devel, t.pagef.lt; +Cc: kwolf

* Dr. David Alan Gilbert (git) (dgilbert@redhat.com) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> 
> Reported-by: Dimitris Karagkasidis <t.pagef.lt@gmail.com>
> Fixes: 48fe86f6400574165979e0db6f5937ad487b6888
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

Queued.

> ---
>  monitor.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/monitor.c b/monitor.c
> index 0c0faec0a4..bec484440f 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -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) {
> -- 
> 2.14.3
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] monitor.c: Fix infinite loop in monitor's auto-complete
  2018-02-16 15:56 ` Stefan Hajnoczi
@ 2018-02-16 16:23   ` Dr. David Alan Gilbert
  0 siblings, 0 replies; 4+ messages in thread
From: Dr. David Alan Gilbert @ 2018-02-16 16:23 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: kwolf, t.pagef.lt, qemu-devel

* Stefan Hajnoczi (stefanha@gmail.com) wrote:
> On Tue, Feb 13, 2018 at 12:51:43PM +0000, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> > 
> 
> Please include the details of how to trigger this bug.  This helps
> justify the patch as well as aiding anyone investigating/backporting the
> same issue in the future.

OK, I'll include Dimitris's:
   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'.

> Aside from that:
> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

Thanks!

Dave

--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-02-16 16:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-13 12:51 [Qemu-devel] [PATCH] monitor.c: Fix infinite loop in monitor's auto-complete Dr. David Alan Gilbert (git)
2018-02-16 15:56 ` Stefan Hajnoczi
2018-02-16 16:23   ` Dr. David Alan Gilbert
2018-02-16 16:20 ` Dr. David Alan Gilbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).