From patchwork Wed Feb 11 11:30:43 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 438751 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 2E6EE140129 for ; Wed, 11 Feb 2015 22:31:13 +1100 (AEDT) Received: from localhost ([::1]:44375 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLVVf-0005p0-QY for incoming@patchwork.ozlabs.org; Wed, 11 Feb 2015 06:31:11 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48070) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLVVN-0005VJ-BJ for qemu-devel@nongnu.org; Wed, 11 Feb 2015 06:30:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YLVVK-0005Gx-5B for qemu-devel@nongnu.org; Wed, 11 Feb 2015 06:30:53 -0500 Received: from mail-wi0-x232.google.com ([2a00:1450:400c:c05::232]:59872) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLVVJ-0005GZ-Ua; Wed, 11 Feb 2015 06:30:50 -0500 Received: by mail-wi0-f178.google.com with SMTP id em10so2849628wid.5; Wed, 11 Feb 2015 03:30:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id; bh=1HOqLIYaxGHP4xvT6VYyOKnlmprwB3JSOJ6DvOkdtQg=; b=PjF5aE2XN2ks5N9u15DCeYKq0uwOBJH3QAPQHPReTm/koE5riwQ+svrBDI7zydX1GA CG6klMz8gxxEtvsn96QTJ/nVjkwHYfWFTj/iC2H2Ew0xH+w3QOyGFHOnuALMWrqI5Vc2 5qnC+uI3JohkhmNqU5TFJEb3MD96MoS2eRlakidKFwwpYwecdFgAGvaFPApDKBT9N9BB ZxWywQ/rECo/4Rj5f/XOQbCWbFFhNsVf6xuYToJ7pZ+8fISO3KGAk6/EtV9QwHqcvhL5 Y0MyqzCn3IGeWICLeDwWu8QarYZ+32SooctFfjtbTA3KKWoFaRIQ7CJW0Qvfe6XXCbCu 78tg== X-Received: by 10.194.10.68 with SMTP id g4mr62031847wjb.5.1423654249035; Wed, 11 Feb 2015 03:30:49 -0800 (PST) Received: from playground.station (net-93-66-105-136.cust.vodafonedsl.it. [93.66.105.136]) by mx.google.com with ESMTPSA id hr1sm22901263wib.1.2015.02.11.03.30.46 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Feb 2015 03:30:47 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Wed, 11 Feb 2015 12:30:43 +0100 Message-Id: <1423654243-20992-1-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::232 Cc: qemu-trivial@nongnu.org Subject: [Qemu-devel] [PATCH] cutils: refine strtol error handling in parse_debug_env X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Avoid truncation of a 64-bit long to a 32-bit int, and check for errno (especially ERANGE). Signed-off-by: Paolo Bonzini Reviewed-by: Eric Blake --- v1->v2: clear errno before strtol --- util/cutils.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/util/cutils.c b/util/cutils.c index dbe7412..9312e45 100644 --- a/util/cutils.c +++ b/util/cutils.c @@ -523,16 +523,17 @@ int parse_debug_env(const char *name, int max, int initial) { char *debug_env = getenv(name); char *inv = NULL; - int debug; + long debug; if (!debug_env) { return initial; } + errno = 0; debug = strtol(debug_env, &inv, 10); if (inv == debug_env) { return initial; } - if (debug < 0 || debug > max) { + if (debug < 0 || debug > max || errno != 0) { fprintf(stderr, "warning: %s not in [0, %d]", name, max); return initial; }