Anthony PERARD <anthony.per...@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.per...@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;
>          }

Reply via email to