From unknown Fri Sep 05 20:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18857: floating point exception on invalid argument Resent-From: Tobias Stoeckmann Original-Sender: "Debbugs-submit" Resent-CC: bug-diffutils@gnu.org Resent-Date: Mon, 27 Oct 2014 20:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 18857 X-GNU-PR-Package: diffutils X-GNU-PR-Keywords: To: 18857@debbugs.gnu.org X-Debbugs-Original-To: bug-diffutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.141444040014336 (code B ref -1); Mon, 27 Oct 2014 20:07:01 +0000 Received: (at submit) by debbugs.gnu.org; 27 Oct 2014 20:06:40 +0000 Received: from localhost ([127.0.0.1]:36977 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XiqYp-0003jA-4J for submit@debbugs.gnu.org; Mon, 27 Oct 2014 16:06:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34222) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XiqYn-0003iw-8h for submit@debbugs.gnu.org; Mon, 27 Oct 2014 16:06:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XiqYY-0006tD-71 for submit@debbugs.gnu.org; Mon, 27 Oct 2014 16:06:31 -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.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:59912) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XiqYY-0006t7-3M for submit@debbugs.gnu.org; Mon, 27 Oct 2014 16:06:22 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35890) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XiqYQ-0003AZ-Fg for bug-diffutils@gnu.org; Mon, 27 Oct 2014 16:06:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XiqYI-0006qu-Vg for bug-diffutils@gnu.org; Mon, 27 Oct 2014 16:06:14 -0400 Received: from mout.kundenserver.de ([212.227.126.130]:49275) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XiqYI-0006qo-MO for bug-diffutils@gnu.org; Mon, 27 Oct 2014 16:06:06 -0400 Received: from fungi.pizza.local (p4FE30B90.dip0.t-ipconnect.de [79.227.11.144]) by mrelayeu.kundenserver.de (node=mreue007) with ESMTP (Nemesis) id 0MBeAU-1XpxYB0sx4-00AXjD; Mon, 27 Oct 2014 21:06:05 +0100 Received: from fungi.pizza.local (localhost [127.0.0.1]) by fungi.pizza.local (8.14.8/8.14.8) with ESMTP id s9RK62r7007109 for ; Mon, 27 Oct 2014 21:06:02 +0100 (CET) Received: (from tobias@localhost) by fungi.pizza.local (8.14.8/8.14.8/Submit) id s9RK61AL020000 for bug-diffutils@gnu.org; Mon, 27 Oct 2014 21:06:01 +0100 (CET) Date: Mon, 27 Oct 2014 21:06:01 +0100 From: Tobias Stoeckmann Message-ID: <20141027200601.GA26496@fungi.pizza.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.22 (2013-10-16) X-Provags-ID: V02:K0:mtiLVRpgiOzIKgCtP8h+B6i7HmyEBMzyU19tve3oN2q lFHht46VsD4kkAUPd729IzO+ilodYuxEoRiJ2jXtmsnlSF1r47 cTFOtTb6Xcw5VwymM9PqO2x78Xy9zlv0OdnOdLLv5jduaqahBW WJ9nvS4Sd1YUHvjgqXd5vNEqeGwBFcgnvvCIdWgshUnT8EjiDQ qfxKWMreO/TDqz44URazxBEJxVTAvdv3M/jUQDT8eXqvCLZBj0 zTPUt993iKH8C217QknWBiuJqizUoZZBQQAgtXqm6IYDS4T6ce OyrB3YZeUpSFBhcpPxdgByQ8IVgtzfPrIO4ApjloHzx8xuMWKJ qH2oul7QCKdvaKuUso2GfZ/G6LGMMzYglP1pcPxTByPv3RbOrr Tvhxr3qEYriHw== X-UI-Out-Filterresults: notjunk:1; X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -5.0 (-----) Hi, on 64 bit systems, an invalid tabsize argument can trigger a floating point exception: $ diff --tabsize=9223372036854775808 . . Floating point exception Offending line is this one: intmax_t off = (w + t + GUTTER_WIDTH_MINIMUM) / (2 * t) * t; The tabsize I supplied is 2^63, multiplying by 2 will be 2^64 which is too large, so the divisor overflows to 0. This is a purely cosmetical fix, I don't see the need to adjust anything except avoiding this special value. I doubt that anyone ever needed these large numbers. Tobias --- diffutils-3.3/src/diff.c~ 2014-10-27 20:54:30.968656876 +0100 +++ diffutils-3.3/src/diff.c 2014-10-27 20:54:41.360708407 +0100 @@ -594,7 +594,7 @@ case TABSIZE_OPTION: numval = strtoumax (optarg, &numend, 10); - if (! (0 < numval && numval <= SIZE_MAX) || *numend) + if (! (0 < numval && numval <= SIZE_MAX / 2) || *numend) try_help ("invalid tabsize '%s'", optarg); if (tabsize != numval) { From unknown Fri Sep 05 20:55:19 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Tobias Stoeckmann Subject: bug#18857: closed (Re: [bug-diffutils] bug#18857: floating point exception on invalid argument) Message-ID: References: <544F28A0.6060400@cs.ucla.edu> <20141027200601.GA26496@fungi.pizza.local> X-Gnu-PR-Message: they-closed 18857 X-Gnu-PR-Package: diffutils Reply-To: 18857@debbugs.gnu.org Date: Tue, 28 Oct 2014 05:26:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1414473963-4078-1" This is a multi-part message in MIME format... ------------=_1414473963-4078-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #18857: floating point exception on invalid argument which was filed against the diffutils package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 18857@debbugs.gnu.org. --=20 18857: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D18857 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1414473963-4078-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 18857-done) by debbugs.gnu.org; 28 Oct 2014 05:25:03 +0000 Received: from localhost ([127.0.0.1]:37117 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XizHC-00012Y-Bh for submit@debbugs.gnu.org; Tue, 28 Oct 2014 01:25:02 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:60312) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XizH8-000120-Os for 18857-done@debbugs.gnu.org; Tue, 28 Oct 2014 01:25:00 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id EF167A60028; Mon, 27 Oct 2014 22:24:52 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id w5NRy8BljpFo; Mon, 27 Oct 2014 22:24:48 -0700 (PDT) Received: from [192.168.1.9] (pool-71-177-17-123.lsanca.dsl-w.verizon.net [71.177.17.123]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id C8A03A6001E; Mon, 27 Oct 2014 22:24:48 -0700 (PDT) Message-ID: <544F28A0.6060400@cs.ucla.edu> Date: Mon, 27 Oct 2014 22:24:48 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Tobias Stoeckmann , 18857-done@debbugs.gnu.org Subject: Re: [bug-diffutils] bug#18857: floating point exception on invalid argument References: <20141027200601.GA26496@fungi.pizza.local> In-Reply-To: <20141027200601.GA26496@fungi.pizza.local> Content-Type: multipart/mixed; boundary="------------000606030904040308050001" X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 18857-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.9 (--) This is a multi-part message in MIME format. --------------000606030904040308050001 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Tobias Stoeckmann wrote: > I don't see the need to adjust anything > except avoiding this special value. I doubt that anyone ever needed > these large numbers. Yes, it's hard to imagine anyone needing a tabsize that large. Still, the GNU policy is to avoid unnecessary limits, so it's better to make the limit as large as easily possible, which here would be SIZE_MAX - GUTTER_WIDTH_MINIMUM. Also, I see there are other ways the nearby code can overflow. Plus, we should put in a test case for this bug. So I installed the attached patch, which should address these issues. Thanks for reporting the problem. --------------000606030904040308050001 Content-Type: text/plain; charset=UTF-8; name="0001-diff-fix-integer-overflow-problem-with-tabsize.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-diff-fix-integer-overflow-problem-with-tabsize.patch" RnJvbSA5NTJhNzA0ZDZiODFmNTI4M2VjMmNlZGU0Yjk5OTVmMDQ0OTRlMWFkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDI3IE9jdCAyMDE0IDE5OjUzOjA4IC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gZGlmZjogZml4IGludGVnZXIgb3ZlcmZsb3cgcHJvYmxlbSB3aXRoIC0tdGFic2l6ZQoK UmVwb3J0ZWQgYnkgVG9iaWFzIFN0b2Vja21hbm4gaW46IGh0dHA6Ly9idWdzLmdudS5vcmcv MTg4NTcKKiBzcmMvZGlmZi5jIChtYWluKTogRG9uJ3Qgb3ZlcmZsb3cgaWYgSU5UTUFYX01B WCAvIDIgPCB0YWJzaXplLgoqIHRlc3RzL2JpZ251bTogTmV3IGZpbGUsIHRvIHRlc3QgZm9y IHRoaXMgYnVnLgoqIHRlc3RzL01ha2VmaWxlLmFtIChURVNUUyk6IEFkZCBpdC4KLS0tCiBz cmMvZGlmZi5jICAgICAgICB8IDE1ICsrKysrKysrKystLS0tLQogdGVzdHMvTWFrZWZpbGUu YW0gfCAgMSArCiB0ZXN0cy9iaWdudW0gICAgICB8IDE0ICsrKysrKysrKysrKysrCiAzIGZp bGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCiBjcmVhdGUg bW9kZSAxMDA3NTUgdGVzdHMvYmlnbnVtCgpkaWZmIC0tZ2l0IGEvc3JjL2RpZmYuYyBiL3Ny Yy9kaWZmLmMKaW5kZXggMzk3ODE1ZS4uMDNmOGU0ZiAxMDA2NDQKLS0tIGEvc3JjL2RpZmYu YworKysgYi9zcmMvZGlmZi5jCkBAIC01OTUsNyArNTk1LDggQEAgbWFpbiAoaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQogCiAJY2FzZSBUQUJTSVpFX09QVElPTjoKIAkgIG51bXZhbCA9IHN0 cnRvdW1heCAob3B0YXJnLCAmbnVtZW5kLCAxMCk7Ci0JICBpZiAoISAoMCA8IG51bXZhbCAm JiBudW12YWwgPD0gU0laRV9NQVgpIHx8ICpudW1lbmQpCisJICBpZiAoISAoMCA8IG51bXZh bCAmJiBudW12YWwgPD0gU0laRV9NQVggLSBHVVRURVJfV0lEVEhfTUlOSU1VTSkKKwkgICAg ICB8fCAqbnVtZW5kKQogCSAgICB0cnlfaGVscCAoImludmFsaWQgdGFic2l6ZSAnJXMnIiwg b3B0YXJnKTsKIAkgIGlmICh0YWJzaXplICE9IG51bXZhbCkKIAkgICAgewpAQCAtNjgyLDEw ICs2ODMsMTQgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQlhIGhhbGYgbGlu ZSBwbHVzIGEgZ3V0dGVyIGlzIGFuIGludGVncmFsIG51bWJlciBvZiB0YWJzLAogCQlzbyB0 aGF0IHRhYnMgaW4gdGhlIHJpZ2h0IGNvbHVtbiBsaW5lIHVwLiAgKi8KIAotICAgIGludG1h eF90IHQgPSBleHBhbmRfdGFicyA/IDEgOiB0YWJzaXplOwotICAgIGludG1heF90IHcgPSB3 aWR0aDsKLSAgICBpbnRtYXhfdCBvZmYgPSAodyArIHQgKyBHVVRURVJfV0lEVEhfTUlOSU1V TSkgLyAoMiAqIHQpICAqICB0OwotICAgIHNkaWZmX2hhbGZfd2lkdGggPSBNQVggKDAsIE1J TiAob2ZmIC0gR1VUVEVSX1dJRFRIX01JTklNVU0sIHcgLSBvZmYpKSwKKyAgICBzaXplX3Qg dCA9IGV4cGFuZF90YWJzID8gMSA6IHRhYnNpemU7CisgICAgc2l6ZV90IHcgPSB3aWR0aDsK KyAgICBzaXplX3QgdF9wbHVzX2cgPSB0ICsgR1VUVEVSX1dJRFRIX01JTklNVU07CisgICAg c2l6ZV90IHVuYWxpZ25lZF9vZmYgPSAodyA+PiAxKSArICh0X3BsdXNfZyA+PiAxKSArICh3 ICYgdF9wbHVzX2cgJiAxKTsKKyAgICBzaXplX3Qgb2ZmID0gdW5hbGlnbmVkX29mZiAtIHVu YWxpZ25lZF9vZmYgJSB0OworICAgIHNkaWZmX2hhbGZfd2lkdGggPSAob2ZmIDw9IEdVVFRF Ul9XSURUSF9NSU5JTVVNIHx8IHcgPD0gb2ZmCisJCQk/IDAKKwkJCTogTUlOIChvZmYgLSBH VVRURVJfV0lEVEhfTUlOSU1VTSwgdyAtIG9mZikpOwogICAgIHNkaWZmX2NvbHVtbjJfb2Zm c2V0ID0gc2RpZmZfaGFsZl93aWR0aCA/IG9mZiA6IHc7CiAgIH0KIApkaWZmIC0tZ2l0IGEv dGVzdHMvTWFrZWZpbGUuYW0gYi90ZXN0cy9NYWtlZmlsZS5hbQppbmRleCAwMDVkOWYwLi40 MzhmYmRmIDEwMDY0NAotLS0gYS90ZXN0cy9NYWtlZmlsZS5hbQorKysgYi90ZXN0cy9NYWtl ZmlsZS5hbQpAQCAtMiw2ICsyLDcgQEAKIAogVEVTVFMgPSBcCiAgIGJhc2ljIFwKKyAgYmln bnVtIFwKICAgYmluYXJ5IFwKICAgY29sbGlkaW5nLWZpbGUtbmFtZXMgXAogICBleGNlc3Mt c2xhc2ggXApkaWZmIC0tZ2l0IGEvdGVzdHMvYmlnbnVtIGIvdGVzdHMvYmlnbnVtCm5ldyBm aWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEwYzk1ZjYKLS0tIC9kZXYvbnVsbAor KysgYi90ZXN0cy9iaWdudW0KQEAgLTAsMCArMSwxNCBAQAorIyEvYmluL3NoCisjIGJpZyBu dW1iZXJzCisKKy4gIiR7c3JjZGlyPS59L2luaXQuc2giOyBwYXRoX3ByZXBlbmRfIC4uL3Ny YworCitmYWlsPTAKKworZm9yIHRhYnNpemUgaW4gMjE0NzQ4MzY0OCA5MjIzMzcyMDM2ODU0 Nzc1ODA4OyBkbworICBkaWZmIC0tdGFic2l6ZT0kdGFic2l6ZSAvZGV2L251bGwgL2Rldi9u dWxsCisgIHN0YXR1cz0kPworICB0ZXN0ICRzdGF0dXMgLWVxIDAgfHwgdGVzdCAkc3RhdHVz IC1lcSAyIHx8IGZhaWw9MQorZG9uZQorCitFeGl0ICRmYWlsCi0tIAoxLjkuMwoK --------------000606030904040308050001-- ------------=_1414473963-4078-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 27 Oct 2014 20:06:40 +0000 Received: from localhost ([127.0.0.1]:36977 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XiqYp-0003jA-4J for submit@debbugs.gnu.org; Mon, 27 Oct 2014 16:06:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34222) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XiqYn-0003iw-8h for submit@debbugs.gnu.org; Mon, 27 Oct 2014 16:06:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XiqYY-0006tD-71 for submit@debbugs.gnu.org; Mon, 27 Oct 2014 16:06:31 -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.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:59912) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XiqYY-0006t7-3M for submit@debbugs.gnu.org; Mon, 27 Oct 2014 16:06:22 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35890) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XiqYQ-0003AZ-Fg for bug-diffutils@gnu.org; Mon, 27 Oct 2014 16:06:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XiqYI-0006qu-Vg for bug-diffutils@gnu.org; Mon, 27 Oct 2014 16:06:14 -0400 Received: from mout.kundenserver.de ([212.227.126.130]:49275) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XiqYI-0006qo-MO for bug-diffutils@gnu.org; Mon, 27 Oct 2014 16:06:06 -0400 Received: from fungi.pizza.local (p4FE30B90.dip0.t-ipconnect.de [79.227.11.144]) by mrelayeu.kundenserver.de (node=mreue007) with ESMTP (Nemesis) id 0MBeAU-1XpxYB0sx4-00AXjD; Mon, 27 Oct 2014 21:06:05 +0100 Received: from fungi.pizza.local (localhost [127.0.0.1]) by fungi.pizza.local (8.14.8/8.14.8) with ESMTP id s9RK62r7007109 for ; Mon, 27 Oct 2014 21:06:02 +0100 (CET) Received: (from tobias@localhost) by fungi.pizza.local (8.14.8/8.14.8/Submit) id s9RK61AL020000 for bug-diffutils@gnu.org; Mon, 27 Oct 2014 21:06:01 +0100 (CET) Date: Mon, 27 Oct 2014 21:06:01 +0100 From: Tobias Stoeckmann To: bug-diffutils@gnu.org Subject: floating point exception on invalid argument Message-ID: <20141027200601.GA26496@fungi.pizza.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.22 (2013-10-16) X-Provags-ID: V02:K0:mtiLVRpgiOzIKgCtP8h+B6i7HmyEBMzyU19tve3oN2q lFHht46VsD4kkAUPd729IzO+ilodYuxEoRiJ2jXtmsnlSF1r47 cTFOtTb6Xcw5VwymM9PqO2x78Xy9zlv0OdnOdLLv5jduaqahBW WJ9nvS4Sd1YUHvjgqXd5vNEqeGwBFcgnvvCIdWgshUnT8EjiDQ qfxKWMreO/TDqz44URazxBEJxVTAvdv3M/jUQDT8eXqvCLZBj0 zTPUt993iKH8C217QknWBiuJqizUoZZBQQAgtXqm6IYDS4T6ce OyrB3YZeUpSFBhcpPxdgByQ8IVgtzfPrIO4ApjloHzx8xuMWKJ qH2oul7QCKdvaKuUso2GfZ/G6LGMMzYglP1pcPxTByPv3RbOrr Tvhxr3qEYriHw== X-UI-Out-Filterresults: notjunk:1; X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -5.0 (-----) Hi, on 64 bit systems, an invalid tabsize argument can trigger a floating point exception: $ diff --tabsize=9223372036854775808 . . Floating point exception Offending line is this one: intmax_t off = (w + t + GUTTER_WIDTH_MINIMUM) / (2 * t) * t; The tabsize I supplied is 2^63, multiplying by 2 will be 2^64 which is too large, so the divisor overflows to 0. This is a purely cosmetical fix, I don't see the need to adjust anything except avoiding this special value. I doubt that anyone ever needed these large numbers. Tobias --- diffutils-3.3/src/diff.c~ 2014-10-27 20:54:30.968656876 +0100 +++ diffutils-3.3/src/diff.c 2014-10-27 20:54:41.360708407 +0100 @@ -594,7 +594,7 @@ case TABSIZE_OPTION: numval = strtoumax (optarg, &numend, 10); - if (! (0 < numval && numval <= SIZE_MAX) || *numend) + if (! (0 < numval && numval <= SIZE_MAX / 2) || *numend) try_help ("invalid tabsize '%s'", optarg); if (tabsize != numval) { ------------=_1414473963-4078-1--