From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:56431) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TWm51-0001Tk-Cp for qemu-devel@nongnu.org; Fri, 09 Nov 2012 05:44:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TWm4v-0005vy-H1 for qemu-devel@nongnu.org; Fri, 09 Nov 2012 05:44:55 -0500 Received: from mx1.redhat.com ([209.132.183.28]:19883) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TWm4v-0005vm-8O for qemu-devel@nongnu.org; Fri, 09 Nov 2012 05:44:49 -0500 From: Markus Armbruster References: <1352387501-21907-1-git-send-email-anthony.perard@citrix.com> Date: Fri, 09 Nov 2012 11:44:45 +0100 In-Reply-To: <1352387501-21907-1-git-send-email-anthony.perard@citrix.com> (Anthony PERARD's message of "Thu, 8 Nov 2012 15:11:41 +0000") Message-ID: <877gpvukbm.fsf@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH] qemu-sockets: Fix parsing of the inet option 'to'. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony PERARD Cc: Paolo Bonzini , QEMU-devel , Luiz Capitulino Anthony PERARD 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 > > --- > 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; > }