From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36899) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WxIcx-0006Oj-KM for qemu-devel@nongnu.org; Wed, 18 Jun 2014 12:22:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WxIcn-0001JA-Kv for qemu-devel@nongnu.org; Wed, 18 Jun 2014 12:22:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:5720) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WxIcn-0001Iq-CN for qemu-devel@nongnu.org; Wed, 18 Jun 2014 12:22:13 -0400 Date: Wed, 18 Jun 2014 19:22:32 +0300 From: "Michael S. Tsirkin" Message-ID: <1403108034-32054-105-git-send-email-mst@redhat.com> References: <1403108034-32054-1-git-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1403108034-32054-1-git-send-email-mst@redhat.com> Subject: [Qemu-devel] [PULL v2 104/106] qapi: fix input visitor bugs List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Michael Roth , Anthony Liguori , Luiz Capitulino 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 Reviewed-by: Eric Blake --- 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) { 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; end = strtoll(str, &endptr, 0); - if (errno == 0 && endptr > str && - INT64_MIN <= end && end <= INT64_MAX && start <= end && + if (errno == 0 && endptr > str && start <= end && (start > INT64_MAX - 65536 || end < start + 65536)) { if (*endptr == '\0') { -- MST