From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by sourceware.org (Postfix) with ESMTPS id 3EB733858D37 for ; Thu, 30 Nov 2023 15:29:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3EB733858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kernel.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3EB733858D37 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=145.40.68.75 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701358178; cv=none; b=vVZ19y8JMSvaKOo8Bkwm6RpPwpSW6MxfFEHdYXnmN0Q7z8XOPf8mYleX3M6HDbCtbivPgdAy7HKGuuqbUlIvj5aXeBpjXt9joI9F2HzL/9ix6zmk2iDwLDymnH3lz3EfBlfS61CsCHzFVvrSUmVFJMO8rioZBUx+Pg43JQVVztg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701358178; c=relaxed/simple; bh=qKAgk+S2EB9OtOZzXhMvgL76tfmi+5ZSqaVDKGjyRMY=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=a2+IX2N8HDP7Wx895CjpqqbK1JOOE7k/uiTk/LfgzdhCgQp5dOj2WfFWTf6y/u+MvZLB8/eTyhuvKXCoDFFStV/0IqSChEbiUKrWdMBx/hyS1zodk+/SuowO5yK0vPMzNHRDptQz4lXW+OWKoJQOQqgkg5RKEzs9mfkoQw+cai4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 4296EB84573; Thu, 30 Nov 2023 15:29:35 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 086F1C433C7; Thu, 30 Nov 2023 15:29:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1701358174; bh=qKAgk+S2EB9OtOZzXhMvgL76tfmi+5ZSqaVDKGjyRMY=; h=Date:From:To:Cc:Subject:From; b=BJ4lnqmDRvyS8y53C9jkbNFCwmka/WeP/bxoI5DMHEInjFgNyyTotTgrPIQl2/hHW bcJ1Xv2e+QPeFdwL6C65n16wjMupP1UH0Kz3V4qtMpcwLCF4TQSqAQNjC5qv1jM3Qm lbGkch3qxKxGrcBqJ+F9oW/HeB/lHRSVqV3aolqk6xwIj0v/x9EF7x4JZTRsgwvhXd JpgkB6PBkV3B5cpimPdrnQP1VR0WdPQxVjdkgAdrbNxQJgKhzaYTmDuAhecnh7OUWp xQkj5/bcFUNyBpCRB2+fI07ZvcnpfEBSO2yZqWb8hv0UCfPnowbb+5iv0diYYQ6RLD zmiK4pfKx/oiA== Date: Thu, 30 Nov 2023 16:29:31 +0100 From: Alejandro Colomar To: linux-man@vger.kernel.org Cc: Alejandro Colomar , libc-help@sourceware.org, ~hallyn/shadow@lists.sr.ht, Michael Kerrisk , Florian Weimer , Iker Pedrosa Subject: [PATCH 1/2] Revert "strtol.3: EXAMPLES: Simplify errno checking" Message-ID: <20231130152910.322395-2-alx@kernel.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="1+UYQSmk4rN0iLCS" Content-Disposition: inline X-Mailer: git-send-email 2.42.0 X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --1+UYQSmk4rN0iLCS Content-Type: text/plain; protected-headers=v1; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Date: Thu, 30 Nov 2023 16:29:31 +0100 From: Alejandro Colomar To: linux-man@vger.kernel.org Cc: Alejandro Colomar , libc-help@sourceware.org, ~hallyn/shadow@lists.sr.ht, Michael Kerrisk , Florian Weimer , Iker Pedrosa Subject: [PATCH 1/2] Revert "strtol.3: EXAMPLES: Simplify errno checking" This reverts commit 93f369892aeab4d56b92962224e318f739ee2455. That commit was wrong. It is necessary to check both the return value _and_ errno to determine that strtol(3) failed. In fact, the checks are still slightly incorrect, since strtol(3) could succeed and return 0, but still set errno, to something other than EINVAL. Link: Cc: Florian Weimer Cc: Iker Pedrosa Signed-off-by: Alejandro Colomar --- man3/strtol.3 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/man3/strtol.3 b/man3/strtol.3 index 01c658025..a5082a761 100644 --- a/man3/strtol.3 +++ b/man3/strtol.3 @@ -261,9 +261,10 @@ .SS Program source errno =3D 0; /* To distinguish success/failure after call */ val =3D strtol(str, &endptr, base); \& - /* Check for various possible errors. */ + /* Check for various possible errors */ \& - if (errno !=3D 0) { + if ((errno =3D=3D ERANGE && (val =3D=3D LONG_MAX || val =3D=3D LONG_MI= N)) + || (errno !=3D 0 && val =3D=3D 0)) { perror("strtol"); exit(EXIT_FAILURE); } --=20 2.42.0 --1+UYQSmk4rN0iLCS Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE6jqH8KTroDDkXfJAnowa+77/2zIFAmVoqlsACgkQnowa+77/ 2zKegA//Wozs4uNlTrlHISnMEIOlQspUf9GHgOo8iBbBDk48WiAEouBuz/AQzT80 vieOD4A/qJ6Ih8nw+KCLOHuUMCJ1AEMjEl9/UaxnF0vtVpcFVbR9HpMs8PBP29rs hcsPxlZD6KeQolqmsE83m1NQ5vdnhVgjnedWN1nqvpEEhOonBPiM2ssalWDiIbFt 8G+qJUYy+2kYBR6Xg0sXQCaWorGY5xqmoAT0ceZFPUGfkktSmK/bGyw8Gd8482ZJ IOir1h4+EN/LBRoGNwJv0D2nyinG6SCOz4wDP3+Jfbx+W7im1tODrPboMci/BUPJ pv06kO0xcMByqTBpVcZVUf+JelAMz1xd3gaFisLZxsod738F1zytLAS9fSI8SEnN RpKhi/3RAuNww1cBAEnIyWxz7h4f81uL8wAk0i8w/Sb2QtkM16rNu527RpjMP/Pd ZbVSS9NfN+KufHwEmmQqEXyFL2SBfree3SFrxkzOthCcmFtJVCVcmkSsvM022dwO EYojYScdft74Jklya8faQiT8rR2bde4XpvHBbWILeJQfCb2sShg3nRbHLsjSsjEI K/MsZ1itY1lgDGkODUEdYj4VqcNtocLtaT2asHMs4mK2giVZQmyNZWDTNqxc1p3p kumdM3t0VVj147Xss7QcnkU4uWs9Lwv9YKw5/hUQG0t+WjeQ+es= =ibiP -----END PGP SIGNATURE----- --1+UYQSmk4rN0iLCS--