From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45738) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WxI6o-0008Ne-VY for qemu-devel@nongnu.org; Wed, 18 Jun 2014 11:49:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WxI6k-0008Rk-1X for qemu-devel@nongnu.org; Wed, 18 Jun 2014 11:49:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53208) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WxI1f-0006Rq-Tu for qemu-devel@nongnu.org; Wed, 18 Jun 2014 11:43:53 -0400 Date: Wed, 18 Jun 2014 18:44:15 +0300 From: "Michael S. Tsirkin" Message-ID: <20140618154415.GB25619@redhat.com> References: <1403105798-25418-1-git-send-email-mst@redhat.com> <53A1B344.3080205@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53A1B344.3080205@redhat.com> Subject: Re: [Qemu-devel] [PATCH] qapi: fix input visitor bugs List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: Michael Roth , qemu-devel@nongnu.org, Luiz Capitulino On Wed, Jun 18, 2014 at 09:41:56AM -0600, Eric Blake wrote: > On 06/18/2014 09:36 AM, Michael S. Tsirkin wrote: > > Remove dead code. Reset errno to 0 before each strtoull call, as the > > man page requires. > > > > Reported-by: Eric Blake > > Signed-off-by: Michael S. Tsirkin > > --- > > qapi/string-input-visitor.c | 9 ++++----- > > 1 file changed, 4 insertions(+), 5 deletions(-) > > > > diff --git a/qapi/string-input-visitor.c b/qapi/string-input-visitor.c > > index 72722e6..d8a8db0 100644 > > --- a/qapi/string-input-visitor.c > > +++ b/qapi/string-input-visitor.c > > @@ -48,11 +48,10 @@ static void parse_str(StringInputVisitor *siv, Error **errp) > > return; > > } > > > > - errno = 0; > > do { > > + errno = 0; > > start = strtoll(str, &endptr, 0); > > - if (errno == 0 && endptr > str && INT64_MIN <= start && > > - start <= INT64_MAX) { > > + if (errno == 0 && endptr > str) { > > Based on this conditional... > > > if (*endptr == '\0') { > > cur = g_malloc0(sizeof(*cur)); > > cur->begin = start; > > @@ -63,9 +62,9 @@ static void parse_str(StringInputVisitor *siv, Error **errp) > > str = NULL; > > } else if (*endptr == '-') { > > str = endptr + 1; > > + errno = 0; > > ...this assignment to errno is dead code (we already know it is 0). But > I'd rather leave it in for robustness sake (any change to intermediate > code may change the situation where we are no longer assured of the > current value of errno at this point). Exactly, that's why I put it here. > Reviewed-by: Eric Blake Thanks! > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org >