Message ID | 1352387501-21907-1-git-send-email-anthony.perard@citrix.com |
---|---|
State | New |
Headers | show |
On 11/08/2012 11:11 PM, Anthony PERARD wrote: > Having a qemu command line argument like "-vnc 127.0.0.1:0,to=99" is broken. > This have been break with commit 879e45c72da1569e07fbbc6a1aa2a708ea796044. > > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> I have the same problem, and it works on Fedora 16 after this patch. Tested-by: Lei Li <lilei@linux.vnet.ibm.com> > > --- > qemu-sockets.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/qemu-sockets.c b/qemu-sockets.c > index abcd791..11d3d32 100644 > --- a/qemu-sockets.c > +++ b/qemu-sockets.c > @@ -551,8 +551,9 @@ static InetSocketAddress *inet_parse(const char *str, Error **errp) > optstr = str + pos; > h = strstr(optstr, ",to="); > if (h) { > - if (1 != sscanf(str, "%d%n", &to, &pos) || > - (str[pos] != '\0' && str[pos] != ',')) { > + h += 4; > + if (1 != sscanf(h, "%d%n", &to, &pos) || > + (h[pos] != '\0' && h[pos] != ',')) { > error_setg(errp, "error parsing to= argument"); > goto fail; > }
Il 08/11/2012 16:11, Anthony PERARD ha scritto: > Having a qemu command line argument like "-vnc 127.0.0.1:0,to=99" is broken. > This have been break with commit 879e45c72da1569e07fbbc6a1aa2a708ea796044. > > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> > > --- > qemu-sockets.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/qemu-sockets.c b/qemu-sockets.c > index abcd791..11d3d32 100644 > --- a/qemu-sockets.c > +++ b/qemu-sockets.c > @@ -551,8 +551,9 @@ static InetSocketAddress *inet_parse(const char *str, Error **errp) > optstr = str + pos; > h = strstr(optstr, ",to="); > if (h) { > - if (1 != sscanf(str, "%d%n", &to, &pos) || > - (str[pos] != '\0' && str[pos] != ',')) { > + h += 4; > + if (1 != sscanf(h, "%d%n", &to, &pos) || > + (h[pos] != '\0' && h[pos] != ',')) { > error_setg(errp, "error parsing to= argument"); > goto fail; > } > I was going to submit this exact same patch. Thanks. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> I added qemu-trivial to the Cc list. Paolo
Anthony PERARD <anthony.perard@citrix.com> writes: > Having a qemu command line argument like "-vnc 127.0.0.1:0,to=99" is broken. > This have been break with commit 879e45c72da1569e07fbbc6a1aa2a708ea796044. > > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> > > --- > qemu-sockets.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/qemu-sockets.c b/qemu-sockets.c > index abcd791..11d3d32 100644 > --- a/qemu-sockets.c > +++ b/qemu-sockets.c > @@ -551,8 +551,9 @@ static InetSocketAddress *inet_parse(const char *str, Error **errp) > optstr = str + pos; > h = strstr(optstr, ",to="); > if (h) { > - if (1 != sscanf(str, "%d%n", &to, &pos) || > - (str[pos] != '\0' && str[pos] != ',')) { > + h += 4; > + if (1 != sscanf(h, "%d%n", &to, &pos) || > + (h[pos] != '\0' && h[pos] != ',')) { Since you're touching this line anyway, consider cleaning up the Yoda comparison to sscanf(...) != 1 > error_setg(errp, "error parsing to= argument"); > goto fail; > }
diff --git a/qemu-sockets.c b/qemu-sockets.c index abcd791..11d3d32 100644 --- a/qemu-sockets.c +++ b/qemu-sockets.c @@ -551,8 +551,9 @@ static InetSocketAddress *inet_parse(const char *str, Error **errp) optstr = str + pos; h = strstr(optstr, ",to="); if (h) { - if (1 != sscanf(str, "%d%n", &to, &pos) || - (str[pos] != '\0' && str[pos] != ',')) { + h += 4; + if (1 != sscanf(h, "%d%n", &to, &pos) || + (h[pos] != '\0' && h[pos] != ',')) { error_setg(errp, "error parsing to= argument"); goto fail; }
Having a qemu command line argument like "-vnc 127.0.0.1:0,to=99" is broken. This have been break with commit 879e45c72da1569e07fbbc6a1aa2a708ea796044. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> --- qemu-sockets.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)