From nobody Tue Feb 10 07:22:15 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=solinno.co.uk ARC-Seal: i=1; a=rsa-sha256; t=1711563309; cv=none; d=zohomail.com; s=zohoarc; b=NxUftMJXL3d65AAHA89y37Oo1hnWQiKaOuahnhHIWo3yc5bZcAIz2vTwchx5+M9SAvXX1U0wHT51TH7rmQxjpxXQ8+tifeIwyHwV2WGrvPomKuHthOfHxdlKTzPiE4ijd6//+j5IrRwQJO6AaC5UZQTOZLfcpmWzg03HI5c756I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1711563309; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lOxrOzR+3klDHwPdBh9MoupVgf4ngmcCyeGnE87jzI4=; b=O2brSo94JSklflggj4n+gf2IaY/EATTvtdGVH3z67h7D6zliB2/QtuMeKc4QQf6JBWZuIarmabOkF5RDlftAkt9YmdI/QuiB5myZtZVk/qAJI0/V2m33NZvJ6g7kbljI01LZod5KUebhTSLgV/3dS44x9HDjoX7/7/Q+LewhJBE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1711563309764469.58371536370953; Wed, 27 Mar 2024 11:15:09 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.698688.1090706 (Exim 4.92) (envelope-from ) id 1rpXnS-0005BO-4G; Wed, 27 Mar 2024 18:14:46 +0000 Received: by outflank-mailman (output) from mailman id 698688.1090706; Wed, 27 Mar 2024 18:14:46 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rpXnR-00059d-Tk; Wed, 27 Mar 2024 18:14:45 +0000 Received: by outflank-mailman (input) for mailman id 698688; Wed, 27 Mar 2024 18:14:13 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rpXmv-0004q7-Mp for xen-devel@lists.xenproject.org; Wed, 27 Mar 2024 18:14:13 +0000 Received: from doppler.solinno.uk (8.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.9.a.d.0.6.f.d.1.0.b.8.0.1.0.0.2.ip6.arpa [2001:8b0:1df6:da9::18]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id cfe5eb1d-ec65-11ee-afe3-a90da7624cb6; Wed, 27 Mar 2024 19:14:12 +0100 (CET) Received: from folly.solinno.co.uk (folly.dyn.solinno.co.uk [192.168.2.135]) by doppler.solinno.uk (Postfix) with ESMTPSA id B2139800AB; Wed, 27 Mar 2024 18:14:11 +0000 (GMT) Received: by folly.solinno.co.uk (Postfix, from userid 1000) id 88DF6202A9; Wed, 27 Mar 2024 18:14:11 +0000 (GMT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: cfe5eb1d-ec65-11ee-afe3-a90da7624cb6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=solinno.co.uk; s=mail; t=1711563251; bh=rQZPf46rdnhj9rP0ET/XSW2dcaf6Q8RXOc1FXyeFv8A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XUgZomaWSaC7XAON5YMh+zH32wgSPtqAYJD/l4Z3N7J58cAPaBap+XE6LUmFnTywm NYgYgiG2hoMmPy/aVOWbaLQoLKkNWARuDQhll9vfW0xcFRo7SUiak9wwdiHMEgyyZg oWomPnYl7ieMUi1lYhXPNlJ5rNJmDkV0zAGwuels= From: leigh@solinno.co.uk To: xen-devel@lists.xenproject.org Cc: andrew.cooper3@citrix.com, anthony.perard@citrix.com, slack@rabbit.lu, Leigh Brown Subject: [PATCH 4/6] tools/misc: xenwatchdogd: add parse_secs() Date: Wed, 27 Mar 2024 18:13:51 +0000 Message-Id: <20240327181353.10951-5-leigh@solinno.co.uk> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240327181353.10951-1-leigh@solinno.co.uk> References: <55416d60-cae7-4e79-8bde-bc07ee9e3830@suse.com> <20240327181353.10951-1-leigh@solinno.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @solinno.co.uk) X-ZM-MESSAGEID: 1711563311932100007 Content-Type: text/plain; charset="utf-8" From: Leigh Brown Create a new parse_secs() function to parse the timeout and sleep parameters. This ensures that non-numeric parameters are not accidentally treated as numbers. --- tools/misc/xenwatchdogd.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/tools/misc/xenwatchdogd.c b/tools/misc/xenwatchdogd.c index 224753e824..26bfdef3db 100644 --- a/tools/misc/xenwatchdogd.c +++ b/tools/misc/xenwatchdogd.c @@ -49,6 +49,18 @@ static void catch_usr1(int sig) done =3D true; } =20 +static int parse_secs(const char *arg, const char *what) +{ + char *endptr; + unsigned long val; + + val =3D strtoul(arg, &endptr, 0); + if (val > INT_MAX || *endptr !=3D 0) + errx(EXIT_FAILURE, "invalid %s: '%s'", what, arg); + + return val; +} + int main(int argc, char **argv) { int id; @@ -64,16 +76,11 @@ int main(int argc, char **argv) if (h =3D=3D NULL) err(EXIT_FAILURE, "xc_interface_open"); =20 - t =3D strtoul(argv[1], NULL, 0); - if (t =3D=3D ULONG_MAX) - err(EXIT_FAILURE, "strtoul"); + t =3D parse_secs(argv[optind], "timeout"); =20 s =3D t / 2; - if (argc =3D=3D 3) { - s =3D strtoul(argv[2], NULL, 0); - if (s =3D=3D ULONG_MAX) - err(EXIT_FAILURE, "strtoul"); - } + if (argc =3D=3D 3) + s =3D parse_secs(argv[optind], "sleep"); =20 if (signal(SIGHUP, &catch_exit) =3D=3D SIG_ERR) err(EXIT_FAILURE, "signal"); --=20 2.39.2