From unknown Fri Jun 13 10:30:37 2025 X-Loop: help-debbugs@gnu.org Subject: bug#37585: Undefined behavior in nl, print_lineno Resent-From: Roland Illig Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 02 Oct 2019 14:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 37585 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 37585@debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.157002787031166 (code B ref -1); Wed, 02 Oct 2019 14:52:02 +0000 Received: (at submit) by debbugs.gnu.org; 2 Oct 2019 14:51:10 +0000 Received: from localhost ([127.0.0.1]:38122 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iFfyA-00086c-GR for submit@debbugs.gnu.org; Wed, 02 Oct 2019 10:51:10 -0400 Received: from lists.gnu.org ([209.51.188.17]:60869) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iFfy5-00086G-IE for submit@debbugs.gnu.org; Wed, 02 Oct 2019 10:51:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42487) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iFfy4-0004lm-9k for bug-coreutils@gnu.org; Wed, 02 Oct 2019 10:51:05 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW,SPOOFED_FREEMAIL autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iFfy3-0007fQ-BR for bug-coreutils@gnu.org; Wed, 02 Oct 2019 10:51:04 -0400 Received: from mout.gmx.net ([212.227.17.21]:37979) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iFfy2-0007ag-U9 for bug-coreutils@gnu.org; Wed, 02 Oct 2019 10:51:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1570027853; bh=G0SMp6JlD+ocXahFt9V33Hq8GEwQk7va8NbIX2/iykY=; h=X-UI-Sender-Class:To:From:Subject:Date; b=GlvG6c28SAGZsLbYvbBWZVeKh6DA3dhYFByU3AdqJ5qiUDhNc2HLoH7dlL4/8H4Rz 0Rjvpt845eds1cEgsrU3fH1YhSq5r2s9mdO/N1V5z0+3OzBDCN6meYvN5eBxxfNKSS oiEmvEWNN5xSZuNtTxEsaurNervNjcNkS75cwGyQ= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.178.63] ([185.29.241.144]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MrhUK-1hjasj2cbs-00nfWL for ; Wed, 02 Oct 2019 16:50:53 +0200 From: Roland Illig Openpgp: preference=signencrypt Autocrypt: addr=roland.illig@gmx.de; prefer-encrypt=mutual; keydata= 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 gUCywTy00g== Message-ID: <91f53d9e-07df-39b7-b65c-feceb86ff1cb@gmx.de> Date: Wed, 2 Oct 2019 16:50:53 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:BzJiDUphX9V7KuLCiUr46GBHbI4+o9TLVu5g/vHZ1JVkxY6Qt0W M9dRaYZ5wQmLN254SMh21WZEmPHZE6t4MzHceuaKxjJOUp4fSQNOvo+MQG8ogl7gfBPEw8N /YoSmIb1R4fuNx0mlVnresGpyohEX8muiyLwct3GVJmbsXQpt9CD6fjPu9cPb0h6rQnHrpB iwH0fhs3Kxi1ClvJhx2Bg== X-UI-Out-Filterresults: notjunk:1;V03:K0:JTwqThjqpN8=:v7bBNpGtUe/hmoR4Cc46Rz 3dd+Kajc2fqm4dCpSXMefxOTkZC1u8T7ChhiXYpbr4aVaHNL4hNIk929teZ7gvruj4msmWoKo ARjFwC6/zWVTtwRIzUCRbwMo3cCAyz3GbQ6Yz46fOXF2RdLWjMVsO/mZYwYJNN53tNFPwiM3Y +QvIlwyV5s3aWU9eVyNoAHD+cw1pusrQZ0a6p2nm5bWKz0MN7wkr7GC7i2DcpZMV3x7dzc0DS nXAnBxDfwNX3hr+HvF9zdtdZrRyYp3a5x2qqoAmoEIdpKnD+wVqFX5BSOrCm5ySb6nP9vAUz9 S1uXkvqco2JGuee0PuS9Hab1eRnQQYWI4UsTVNGakjfFWHDcU0xlBSGakxiUfjTGoRKEfCGSE LgQ8TfQx6qhoFwBRYdsLaClIT8DGAzECEgKiu6swvjGM4e9vDGy7BTjTEguNpidS9APX1bWQG NMuxuPxbMTwmwulg5epfoqOjF/m321TOogUXg2nXEkH0uN0rwVHX6CwTyg3OCngi8lspWOBOD fI6MGiddu1LK72FeKTvFkMhAJfnVU6x0TgBOqpz4Vd33bQaMl+b8B5F7sCK/CICUqO5z40Z3t gVB9iyQlrdwfdfgZyN8yo181S82HR2yexMfEqAX2+kL9rQ2V4h9XCR2nUQ5r3phzZNeeqzk0O A4/t0JdJlevZIdBOh62skvua5xEW0os/K/CMwfR0zJ6L3xegESDM+Qb33tdFXEbSDUI33ErHG WXhyjc34aWS9XYmtUq5v7xHF2MFynAln+6E+1Tqg0dYj/RwYJFH6bAwrwmONscVjG+TQutCvx aJuj5ILc2+sVOcsRbm4EdL+430VIMqOdgrb6D+nH+wtbN/1HNx0dW5HBKBO+3uoKMEDfUh1Ao kDEtMG742HuJuw4foJGpxIhumWD+/xO+Is0KlOl4QU6WoZlhBejeeW1snfjCVbVjT2hY/0GWz 5F52H9g67U99oI39LMPkaJhsLhpJ8fZD8M1vY9kPKDpTZn4Tx83Dxpo6nHAKjeZn6mhRsQqyX t/G1Hu7N1HxDyTFNun213ER2XmcNdYLg/Jrugib4jMEjyYXzp/fI9XZ2VT0mE54Lv5on0Ti5L 87LeWiRSDEHzR949SCRLzZq2+8dWctq87U43SzHGqqitLJadZxcQSk+Nf4zoBClt6+zAH9lrM rGgEP7a8WHZ1631f920doDDgTOIfxUTctPwOmawF4+uEt75srsQM0rwzbVMCdo9u5iBfPHNL0 N/yhJGYt5wgosPhJlmQRudd+0u4AaBHXnvKHmA9xf5PPOpcnZs2OJDvMlmgg= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.21 X-Spam-Score: 0.6 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) The current code says: next_line_no = line_no + page_incr; if (next_line_no < line_no) die (EXIT_FAILURE, 0, _("line number overflow")); Since intmax_t is a regular integer type, overflow invokes undefined behavior and must therefore be checked using other means. From unknown Fri Jun 13 10:30:37 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Roland Illig Subject: bug#37585: closed (Re: bug#37585: Undefined behavior in nl, print_lineno) Message-ID: References: <91f53d9e-07df-39b7-b65c-feceb86ff1cb@gmx.de> X-Gnu-PR-Message: they-closed 37585 X-Gnu-PR-Package: coreutils Reply-To: 37585@debbugs.gnu.org Date: Thu, 03 Oct 2019 19:45:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1570131902-4589-1" This is a multi-part message in MIME format... ------------=_1570131902-4589-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #37585: Undefined behavior in nl, print_lineno which was filed against the coreutils package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 37585@debbugs.gnu.org. --=20 37585: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D37585 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1570131902-4589-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 37585-done) by debbugs.gnu.org; 3 Oct 2019 19:44:04 +0000 Received: from localhost ([127.0.0.1]:41298 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iG71A-0001AV-8n for submit@debbugs.gnu.org; Thu, 03 Oct 2019 15:44:04 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:47462) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iG718-00019p-7t for 37585-done@debbugs.gnu.org; Thu, 03 Oct 2019 15:44:03 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id C5BD01604F2; Thu, 3 Oct 2019 12:43:55 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id WaffgNiR1VxG; Thu, 3 Oct 2019 12:43:54 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 9D5491604F6; Thu, 3 Oct 2019 12:43:54 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 1rze0xNVe-Lj; Thu, 3 Oct 2019 12:43:54 -0700 (PDT) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 75B321604F2; Thu, 3 Oct 2019 12:43:54 -0700 (PDT) Subject: Re: bug#37585: Undefined behavior in nl, print_lineno To: Roland Illig References: <91f53d9e-07df-39b7-b65c-feceb86ff1cb@gmx.de> From: Paul Eggert Organization: UCLA Computer Science Department Message-ID: Date: Thu, 3 Oct 2019 12:43:54 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.0 MIME-Version: 1.0 In-Reply-To: <91f53d9e-07df-39b7-b65c-feceb86ff1cb@gmx.de> Content-Type: multipart/mixed; boundary="------------B65734B253E9A5FC9398335E" Content-Language: en-US X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37585-done Cc: 37585-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) This is a multi-part message in MIME format. --------------B65734B253E9A5FC9398335E Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 10/2/19 7:50 AM, Roland Illig wrote: > The current code says: > > next_line_no = line_no + page_incr; > if (next_line_no < line_no) > die (EXIT_FAILURE, 0, _("line number overflow")); > > Since intmax_t is a regular integer type, overflow invokes undefined > behavior and must therefore be checked using other means. Thanks for the bug report. I looked for similar problems involving integer-overflow diagnostics in coreutils and installed the attached patches. The second patch should fix the bug you mentioned. --------------B65734B253E9A5FC9398335E Content-Type: text/x-patch; charset=UTF-8; name="0001-cp-simplify-integer-overflow-checking.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-cp-simplify-integer-overflow-checking.patch" >From 1316620e81daf91317560226b2b63cbbf548c09d Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 3 Oct 2019 12:35:44 -0700 Subject: [PATCH 1/4] cp: simplify integer overflow checking * src/copy.c (sparse_copy): Use INT_ADD_WRAPV instead of doing overflow checking by hand. --- src/copy.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/copy.c b/src/copy.c index 65cf65895..cd6104c7a 100644 --- a/src/copy.c +++ b/src/copy.c @@ -335,9 +335,7 @@ sparse_copy (int src_fd, int dest_fd, char *buf, size_t buf_size, } else /* Coalesce writes/seeks. */ { - if (psize <= OFF_T_MAX - csize) - psize += csize; - else + if (INT_ADD_WRAPV (psize, csize, &psize)) { error (0, 0, _("overflow reading %s"), quoteaf (src_name)); return false; -- 2.21.0 --------------B65734B253E9A5FC9398335E Content-Type: text/x-patch; charset=UTF-8; name="0002-nl-fix-integer-overflow-bug.patch" Content-Disposition: attachment; filename="0002-nl-fix-integer-overflow-bug.patch" Content-Transfer-Encoding: quoted-printable >From 89af2b307b455b53869bc9cf79af0272f7d8a1a2 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 3 Oct 2019 12:37:12 -0700 Subject: [PATCH 2/4] nl: fix integer-overflow bug MIME-Version: 1.0 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 8bit Problem reported by Roland Illig (Bug#37585) * src/nl.c (print_lineno): Don=E2=80=99t rely on undefined behavior when checking for integer overflow. --- src/nl.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/nl.c b/src/nl.c index 43092b4fe..d85408c8c 100644 --- a/src/nl.c +++ b/src/nl.c @@ -275,14 +275,10 @@ build_type_arg (char const **typep, static void print_lineno (void) { - intmax_t next_line_no; - printf (lineno_format, lineno_width, line_no, separator_str); =20 - next_line_no =3D line_no + page_incr; - if (next_line_no < line_no) + if (INT_ADD_WRAPV (line_no, page_incr, &line_no)) die (EXIT_FAILURE, 0, _("line number overflow")); - line_no =3D next_line_no; } =20 /* Switch to a header section. */ --=20 2.21.0 --------------B65734B253E9A5FC9398335E Content-Type: text/x-patch; charset=UTF-8; name="0003-numfmt-avoid-unlikely-integer-overflow.patch" Content-Disposition: attachment; filename="0003-numfmt-avoid-unlikely-integer-overflow.patch" Content-Transfer-Encoding: quoted-printable >From 72a348cc2d6160aa24bca93c23b1a17ffb5b1366 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 3 Oct 2019 12:38:15 -0700 Subject: [PATCH 3/4] numfmt: avoid unlikely integer overflow MIME-Version: 1.0 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 8bit * src/numfmt.c (parse_format_string): Report overflow if pad < -LONG_MAX, since that can=E2=80=99t be negated. --- src/numfmt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/numfmt.c b/src/numfmt.c index 305a88603..c56641cfd 100644 --- a/src/numfmt.c +++ b/src/numfmt.c @@ -1081,7 +1081,7 @@ parse_format_string (char const *fmt) =20 errno =3D 0; pad =3D strtol (fmt + i, &endptr, 10); - if (errno =3D=3D ERANGE) + if (errno =3D=3D ERANGE || pad < -LONG_MAX) die (EXIT_FAILURE, 0, _("invalid format %s (width overflow)"), quote (fmt)); =20 --=20 2.21.0 --------------B65734B253E9A5FC9398335E Content-Type: text/x-patch; charset=UTF-8; name="0004-truncate-avoid-integer-overflow-assumptions.patch" Content-Disposition: attachment; filename="0004-truncate-avoid-integer-overflow-assumptions.patch" Content-Transfer-Encoding: quoted-printable >From d267ba04a6b4ad43e5a1311885f8ad9685502a5e Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 3 Oct 2019 12:41:22 -0700 Subject: [PATCH 4/4] truncate: avoid integer-overflow assumptions MIME-Version: 1.0 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 8bit * src/truncate.c (do_ftruncate): Simplify overflow checking, and don=E2=80=99t rely on theoretically-nonportable assumptions like assuming that OFF_MAX < UINTMAX_MAX. --- src/truncate.c | 49 +++++++++++++++++++------------------------------ 1 file changed, 19 insertions(+), 30 deletions(-) diff --git a/src/truncate.c b/src/truncate.c index 4494ab51a..e7fb8543a 100644 --- a/src/truncate.c +++ b/src/truncate.c @@ -116,31 +116,29 @@ do_ftruncate (int fd, char const *fname, off_t ssiz= e, off_t rsize, } if (block_mode) { - off_t const blksize =3D ST_BLKSIZE (sb); - if (ssize < OFF_T_MIN / blksize || ssize > OFF_T_MAX / blksize) + ptrdiff_t blksize =3D ST_BLKSIZE (sb); + intmax_t ssize0 =3D ssize; + if (INT_MULTIPLY_WRAPV (ssize, blksize, &ssize)) { error (0, 0, _("overflow in %" PRIdMAX - " * %" PRIdMAX " byte blocks for file %s"), - (intmax_t) ssize, (intmax_t) blksize, - quoteaf (fname)); + " * %" PRIdPTR " byte blocks for file %s"), + ssize0, blksize, quoteaf (fname)); return false; } - ssize *=3D blksize; } if (rel_mode) { - uintmax_t fsize; + off_t fsize; =20 if (0 <=3D rsize) fsize =3D rsize; else { - off_t file_size; if (usable_st_size (&sb)) { - file_size =3D sb.st_size; - if (file_size < 0) + fsize =3D sb.st_size; + if (fsize < 0) { /* Sanity check. Overflow is the only reason I can th= ink this would ever go negative. */ @@ -151,46 +149,37 @@ do_ftruncate (int fd, char const *fname, off_t ssiz= e, off_t rsize, } else { - file_size =3D lseek (fd, 0, SEEK_END); - if (file_size < 0) + fsize =3D lseek (fd, 0, SEEK_END); + if (fsize < 0) { error (0, errno, _("cannot get the size of %s"), quoteaf (fname)); return false; } } - fsize =3D file_size; } =20 if (rel_mode =3D=3D rm_min) - nsize =3D MAX (fsize, (uintmax_t) ssize); + nsize =3D MAX (fsize, ssize); else if (rel_mode =3D=3D rm_max) - nsize =3D MIN (fsize, (uintmax_t) ssize); + nsize =3D MIN (fsize, ssize); else if (rel_mode =3D=3D rm_rdn) /* 0..ssize-1 -> 0 */ - nsize =3D (fsize / ssize) * ssize; - else if (rel_mode =3D=3D rm_rup) - /* 1..ssize -> ssize */ + nsize =3D fsize - fsize % ssize; + else { - /* Here ssize>=3D1 && fsize>=3D0 */ - uintmax_t const overflow =3D ((fsize + ssize - 1) / ssize) * s= size; - if (overflow > OFF_T_MAX) + if (rel_mode =3D=3D rm_rup) { - error (0, 0, _("overflow rounding up size of file %s"), - quoteaf (fname)); - return false; + /* 1..ssize -> ssize */ + off_t r =3D fsize % ssize; + ssize =3D r =3D=3D 0 ? 0 : ssize - r; } - nsize =3D overflow; - } - else - { - if (ssize > OFF_T_MAX - (off_t)fsize) + if (INT_ADD_WRAPV (fsize, ssize, &nsize)) { error (0, 0, _("overflow extending size of file %s"), quoteaf (fname)); return false; } - nsize =3D fsize + ssize; } } else --=20 2.21.0 --------------B65734B253E9A5FC9398335E-- ------------=_1570131902-4589-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 2 Oct 2019 14:51:10 +0000 Received: from localhost ([127.0.0.1]:38122 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iFfyA-00086c-GR for submit@debbugs.gnu.org; Wed, 02 Oct 2019 10:51:10 -0400 Received: from lists.gnu.org ([209.51.188.17]:60869) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iFfy5-00086G-IE for submit@debbugs.gnu.org; Wed, 02 Oct 2019 10:51:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42487) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iFfy4-0004lm-9k for bug-coreutils@gnu.org; Wed, 02 Oct 2019 10:51:05 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW,SPOOFED_FREEMAIL autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iFfy3-0007fQ-BR for bug-coreutils@gnu.org; Wed, 02 Oct 2019 10:51:04 -0400 Received: from mout.gmx.net ([212.227.17.21]:37979) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iFfy2-0007ag-U9 for bug-coreutils@gnu.org; Wed, 02 Oct 2019 10:51:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1570027853; bh=G0SMp6JlD+ocXahFt9V33Hq8GEwQk7va8NbIX2/iykY=; h=X-UI-Sender-Class:To:From:Subject:Date; b=GlvG6c28SAGZsLbYvbBWZVeKh6DA3dhYFByU3AdqJ5qiUDhNc2HLoH7dlL4/8H4Rz 0Rjvpt845eds1cEgsrU3fH1YhSq5r2s9mdO/N1V5z0+3OzBDCN6meYvN5eBxxfNKSS oiEmvEWNN5xSZuNtTxEsaurNervNjcNkS75cwGyQ= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.178.63] ([185.29.241.144]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MrhUK-1hjasj2cbs-00nfWL for ; Wed, 02 Oct 2019 16:50:53 +0200 To: bug-coreutils@gnu.org From: Roland Illig Subject: Undefined behavior in nl, print_lineno Openpgp: preference=signencrypt Autocrypt: addr=roland.illig@gmx.de; prefer-encrypt=mutual; keydata= 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 gUCywTy00g== Message-ID: <91f53d9e-07df-39b7-b65c-feceb86ff1cb@gmx.de> Date: Wed, 2 Oct 2019 16:50:53 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:BzJiDUphX9V7KuLCiUr46GBHbI4+o9TLVu5g/vHZ1JVkxY6Qt0W M9dRaYZ5wQmLN254SMh21WZEmPHZE6t4MzHceuaKxjJOUp4fSQNOvo+MQG8ogl7gfBPEw8N /YoSmIb1R4fuNx0mlVnresGpyohEX8muiyLwct3GVJmbsXQpt9CD6fjPu9cPb0h6rQnHrpB iwH0fhs3Kxi1ClvJhx2Bg== X-UI-Out-Filterresults: notjunk:1;V03:K0:JTwqThjqpN8=:v7bBNpGtUe/hmoR4Cc46Rz 3dd+Kajc2fqm4dCpSXMefxOTkZC1u8T7ChhiXYpbr4aVaHNL4hNIk929teZ7gvruj4msmWoKo ARjFwC6/zWVTtwRIzUCRbwMo3cCAyz3GbQ6Yz46fOXF2RdLWjMVsO/mZYwYJNN53tNFPwiM3Y +QvIlwyV5s3aWU9eVyNoAHD+cw1pusrQZ0a6p2nm5bWKz0MN7wkr7GC7i2DcpZMV3x7dzc0DS nXAnBxDfwNX3hr+HvF9zdtdZrRyYp3a5x2qqoAmoEIdpKnD+wVqFX5BSOrCm5ySb6nP9vAUz9 S1uXkvqco2JGuee0PuS9Hab1eRnQQYWI4UsTVNGakjfFWHDcU0xlBSGakxiUfjTGoRKEfCGSE LgQ8TfQx6qhoFwBRYdsLaClIT8DGAzECEgKiu6swvjGM4e9vDGy7BTjTEguNpidS9APX1bWQG NMuxuPxbMTwmwulg5epfoqOjF/m321TOogUXg2nXEkH0uN0rwVHX6CwTyg3OCngi8lspWOBOD fI6MGiddu1LK72FeKTvFkMhAJfnVU6x0TgBOqpz4Vd33bQaMl+b8B5F7sCK/CICUqO5z40Z3t gVB9iyQlrdwfdfgZyN8yo181S82HR2yexMfEqAX2+kL9rQ2V4h9XCR2nUQ5r3phzZNeeqzk0O A4/t0JdJlevZIdBOh62skvua5xEW0os/K/CMwfR0zJ6L3xegESDM+Qb33tdFXEbSDUI33ErHG WXhyjc34aWS9XYmtUq5v7xHF2MFynAln+6E+1Tqg0dYj/RwYJFH6bAwrwmONscVjG+TQutCvx aJuj5ILc2+sVOcsRbm4EdL+430VIMqOdgrb6D+nH+wtbN/1HNx0dW5HBKBO+3uoKMEDfUh1Ao kDEtMG742HuJuw4foJGpxIhumWD+/xO+Is0KlOl4QU6WoZlhBejeeW1snfjCVbVjT2hY/0GWz 5F52H9g67U99oI39LMPkaJhsLhpJ8fZD8M1vY9kPKDpTZn4Tx83Dxpo6nHAKjeZn6mhRsQqyX t/G1Hu7N1HxDyTFNun213ER2XmcNdYLg/Jrugib4jMEjyYXzp/fI9XZ2VT0mE54Lv5on0Ti5L 87LeWiRSDEHzR949SCRLzZq2+8dWctq87U43SzHGqqitLJadZxcQSk+Nf4zoBClt6+zAH9lrM rGgEP7a8WHZ1631f920doDDgTOIfxUTctPwOmawF4+uEt75srsQM0rwzbVMCdo9u5iBfPHNL0 N/yhJGYt5wgosPhJlmQRudd+0u4AaBHXnvKHmA9xf5PPOpcnZs2OJDvMlmgg= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.21 X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) The current code says: next_line_no = line_no + page_incr; if (next_line_no < line_no) die (EXIT_FAILURE, 0, _("line number overflow")); Since intmax_t is a regular integer type, overflow invokes undefined behavior and must therefore be checked using other means. ------------=_1570131902-4589-1-- From unknown Fri Jun 13 10:30:37 2025 X-Loop: help-debbugs@gnu.org Subject: bug#37585: Undefined behavior in nl, print_lineno Resent-From: Roland Illig Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 03 Oct 2019 20:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 37585 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert Cc: 37585-done@debbugs.gnu.org Received: via spool by 37585-done@debbugs.gnu.org id=D37585.157013417924163 (code D ref 37585); Thu, 03 Oct 2019 20:23:02 +0000 Received: (at 37585-done) by debbugs.gnu.org; 3 Oct 2019 20:22:59 +0000 Received: from localhost ([127.0.0.1]:41340 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iG7cp-0006Hf-05 for submit@debbugs.gnu.org; Thu, 03 Oct 2019 16:22:59 -0400 Received: from mout.gmx.net ([212.227.15.15]:43145) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iG7cl-0006HO-N7 for 37585-done@debbugs.gnu.org; Thu, 03 Oct 2019 16:22:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1570134169; bh=YqQl+hFwyZ1GYqT41Nig2+RZa/BUAqY0ryCMfkw/KdA=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=BPlH3q7q3bgn7SqE9jvbKItbR1yNuPO4zVoJuAqnBN2HNMG3g5rr9dA+1YJpw4wu4 pBsXbtqyNc5pdYeBlIgcNrcRPgdigrnT8KDA5ekBUAwhJz2lAdkONAjb7J3SiBGYW1 6b9jMA4rwfbffiTB7JWqbtbYWxT7QKddwOQaSG70= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.178.63] ([84.46.57.250]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MHoRA-1iIshT0BOw-00Eycm; Thu, 03 Oct 2019 22:17:29 +0200 References: <91f53d9e-07df-39b7-b65c-feceb86ff1cb@gmx.de> From: Roland Illig Openpgp: preference=signencrypt Autocrypt: addr=roland.illig@gmx.de; prefer-encrypt=mutual; keydata= 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 gUCywTy00g== Message-ID: Date: Thu, 3 Oct 2019 22:17:26 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:kVOLPShKqG2K3tHsogShyeEeNEesBfL/udCANm+VCDSWULjB3Bz xOgodOeoB5tM0ciFuVjFHG7j9gDX6yMyOZ2jfzG78U65RhJxUHANAeT7b2Pi8GMm035qSkG ia7yum89kkGHIMfnVDeu98EthtBnQE3aKj1aHUT7EnbeAk7QFAZxVP2ZN0xASCUG4ZdHqG6 MBCF8YFYA4IOTYQuNHfNw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:rpDbB/3hojk=:DBnhbq5vIFRSGzAMjvhL9u 7D9dPy5BJTjXkPVMLztefs0MYv5lnN0iTihwERm+zBOlwPVlyZif4HUhecWqNiB1lxb7eHAgJ +hDfJg23zt2nSwv8UPhGYrXiqwngb7MiPEJ570KUjQJcLXmICrmdTQLKQ18U5ZgCVb/H79ZEg S+WH2vM3mrXMogcGRFKfiWl5qWo4IDlWEyb63vRpsdYVK62GPD/6PungFFthZ57rwrN0S4VTW irVSVyHfON4zpDt3f7sR6/Dsefty7ozdij2VvAG1KGTE28uODTbQd6cKTmUlbZKxcBsAx44OS ZM/xxFIqXC4r4MRaGClvXvq5KR55NLOPZB2NL/uYVf6PytfzcleEtea5PByH5xMOjjGKlZTck 04w/Zju4DYh//dTn/7tz0EDioUujBIupMQTStVOxIwDvosuFCOjS/0yZYDdIy/tjUfA2xMHFQ UItcC2F2SnLfyyZ21oXq6ZuQ6QfJq13s74VGER+HWUkCqiZDXSAHDmiGW9DFY2D2/m8rRGOxi XPJ8y4UiQujbOagBOmk/KlIRtI6QqlLRMCFTD4uAhjw+xZOaNvN+ISCeXw512eaZwaPPMPJ6Y bSTh+rfWhj3oIDqdd+Vkkbg4fYeETcm4AaQ7zuVleO/Yfj3GBXd/7XNGNvM6roG6Eqz20zpH3 VUSG0YR82OwzMSaTB3D0jq4uyGZ+6ine84dL8x+QqT2CWT8ulGJPb5jRPd+Mqbo/nrLvxXKog 1CwowHolw8FPNsEENr3UCR4DmMaNUUI8QzYinfgq8n9sbb81Mp4hZ965r1BUS7fdl4wu0L9WJ Z1IRFYjXx3n4cFZuMgLUbjKTMNZSLhzBquKyYMx+Bm/WqwvUgIarPblFARvI2BILVSOzFwzLH pOJnHhR9VRru1ECh3vkos7wMptvVPLCTIYZ5GVJrnesSdgQBF8/v84xJxUR+Y7rwT3S8LeOnk aYJZ3mMdOhINRzqIteRIyLG7TnJPlxjegUi0ft8KpwbgN0s0tMG3gN1vSK/nDkEefl3/yJ7ZI UO368DlqdqgNzQ1Zd/0lZMbZKDFZMJfdTCo9JMBFvokqaIC5clmCcwhry7oyES2yvgoIX5pzG V/i9Zoxc00tuTSshfn8Oqiaa2j6/zMG3e0EF2KpZmBGMBeBKhOd2/CZtwDb5/Ue23Ih8uVEnV ANmI39kJzYl+GeH3EDth/mOIVBIzWhuw15ephCtlmr8yW22kDJzn1a0tJp8ajxocJG066Euh7 l1g6zHBjAmJZFhPexSHFhU7rTOGoHjDdz54ByzH2xutOsdKRuu4nZjWYXYpU= X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am 03.10.2019 um 21:43 schrieb Paul Eggert: > Thanks for the bug report. I looked for similar problems involving > integer-overflow diagnostics in coreutils and installed the attached > patches. The second patch should fix the bug you mentioned. Ah, the code looks so much simpler and nicer with the high-level overflow check macros in place. Thank you for analyzing and fixing this thoroughly.