From unknown Mon Aug 18 14:22:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#37558: [PATCH] cmp: fix address spacing with -l Resent-From: "dmo2118@gmail.com" Original-Sender: "Debbugs-submit" Resent-CC: bug-diffutils@gnu.org Resent-Date: Mon, 30 Sep 2019 00:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 37558 X-GNU-PR-Package: diffutils X-GNU-PR-Keywords: patch To: 37558@debbugs.gnu.org X-Debbugs-Original-To: bug-diffutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.156980355527043 (code B ref -1); Mon, 30 Sep 2019 00:33:02 +0000 Received: (at submit) by debbugs.gnu.org; 30 Sep 2019 00:32:35 +0000 Received: from localhost ([127.0.0.1]:56231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iEjcA-000726-NI for submit@debbugs.gnu.org; Sun, 29 Sep 2019 20:32:35 -0400 Received: from lists.gnu.org ([209.51.188.17]:43411) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iEjE6-00020f-70 for submit@debbugs.gnu.org; Sun, 29 Sep 2019 20:07:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49990) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iEjE5-0008Ss-1T for bug-diffutils@gnu.org; Sun, 29 Sep 2019 20:07:42 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_50, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iEjE4-0006z3-2V for bug-diffutils@gnu.org; Sun, 29 Sep 2019 20:07:40 -0400 Received: from mail-io1-xd2a.google.com ([2607:f8b0:4864:20::d2a]:38823) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iEjE3-0006ym-Rd for bug-diffutils@gnu.org; Sun, 29 Sep 2019 20:07:40 -0400 Received: by mail-io1-xd2a.google.com with SMTP id u8so33473040iom.5 for ; Sun, 29 Sep 2019 17:07:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:mime-version:content-language :content-transfer-encoding; bh=Xd0LtjSH1RCzDnTsuHletlU7cfCmuh7xF5Qc82co2l4=; b=VOw1C+2hQ4f5upfE3Du1SkTIdWiLn7h01EIMdUi9Jx4RPDeJHB2vmNE/qjMLCt5ceq 7fEHyyYzZv4Nl9BXy+V9/CFGDq6MLfvsAjb66yLZxBXL2j16gLDhdxs8spNTTFR7Zqt3 w/3mnM30wOFuJ9zaUdng9V7+t7I0vd/ezVCnOoJmPW84S3NMFv4CQygQzvqS1xzdhcoG 3iWBOwjsE5+jsjUDKzkBYmZRkePv2DOZJJyrCzm1K5yTIVjCCt7GvSxk7xHWfYuhsEo5 XXvZlg+6XZHrFR00nK1OcAGDd8atQQZSP080AJnNqY6Gzg1AFsf583E5ozK2r84VXRUM ZS8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:mime-version :content-language:content-transfer-encoding; bh=Xd0LtjSH1RCzDnTsuHletlU7cfCmuh7xF5Qc82co2l4=; b=SImpbgHTsjfUkM0bmHxVTQZmATwseyAcXZtpkoN6Ngq5XuWCLFSosKogYFE+gPT+rn FhH8ZoqwvMAM2NqBr3Cs6vK/KZHllFawCaNhBfM59DK4GJ7YIwEMsdHlbVr54FsK6iz2 BnUroDieCao+bsb72AhqgiF40zRrB84gahPEh/lwkyVzWAmvIeuvCkETxd8T9Os0okS9 gKB1BddQNhuM/OUdscEokPBXpIq0iUIOETkttwXbdpC2m0Ig8oWlgAyDLIIyj2VfRLnK /+TBpmPQsBVFKdgNPpqzSBvBj/8K3BbDXQU8wOViKQ7He1YGa9cyHGZ9vQTaX8+gITRv B0BQ== X-Gm-Message-State: APjAAAU68MmTj/izDsY3WHeKXrXsRD6u8Agt3WOnk2FTGE8TrLZ0F+Fn sDWO6ULBok08IjZ4i1kBn59LMNpR X-Google-Smtp-Source: APXvYqx/SkFSb3vP6iYDYUF7MnFsQCz1bMe+M0sXM9IFUI3PwT/1ZoIlI5zLH978J2ikvINhW4NlTQ== X-Received: by 2002:a5d:8e0d:: with SMTP id e13mr18654433iod.3.1569802058318; Sun, 29 Sep 2019 17:07:38 -0700 (PDT) Received: from [192.168.42.64] (81.sub-174-230-130.myvzw.com. [174.230.130.81]) by smtp.googlemail.com with ESMTPSA id i26sm5075729iol.84.2019.09.29.17.07.36 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 29 Sep 2019 17:07:37 -0700 (PDT) From: "dmo2118@gmail.com" Message-ID: Date: Sun, 29 Sep 2019 20:07:28 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::d2a X-Spam-Score: 0.9 (/) X-Mailman-Approved-At: Sun, 29 Sep 2019 20:32:33 -0400 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.1 (--) Looks like there's a bit of a spacing goof with 'cmp -l': $ cat /tmp/j1 Jackdaws love my big sphinx of quartz! $ cat /tmp/j2 jackdaws love my big sphinx of quartz. $ ./cmp -l j1 j2 1 112 152 38 41 56 I think this fixes it. diff --git a/src/cmp.c b/src/cmp.c index 16e8869..3124b98 100644 --- a/src/cmp.c +++ b/src/cmp.c @@ -394,7 +394,7 @@ cmp (void) if (comparison_type == type_all_diffs) { - off_t byte_number_max = MIN (bytes, TYPE_MAXIMUM (off_t)); + off_t byte_number_max = bytes >= 0 ? bytes : TYPE_MAXIMUM (off_t); for (f = 0; f < 2; f++) if (S_ISREG (stat_buf[f].st_mode)) diff --git a/tests/cmp b/tests/cmp index 97f2b5f..ff49388 100755 --- a/tests/cmp +++ b/tests/cmp @@ -218,4 +218,14 @@ case `LC_ALL=C cmp -b bad bug` in *) echo 'expected cmp -b to report a and u'; fail=1;; esac +printf 'Jackdaws love my big sphinx of quartz!' > j1 +printf 'jackdaws love my big sphinx of quartz.' > j2 +cat <<'EOF' > exp2 || fail=1 + 1 112 J 152 j +38 41 ! 56 . +EOF +cmp -bl j1 j2 > out2 +test $? -eq 1 || fail=1 +compare exp2 out2 || fail=1 + Exit $fail Dave Odell From unknown Mon Aug 18 14:22:42 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: "dmo2118@gmail.com" Subject: bug#37558: closed (Re: [bug-diffutils] bug#37558: [PATCH] cmp: fix address spacing with -l) Message-ID: References: X-Gnu-PR-Message: they-closed 37558 X-Gnu-PR-Package: diffutils X-Gnu-PR-Keywords: patch Reply-To: 37558@debbugs.gnu.org Date: Tue, 01 Oct 2019 18:18:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1569953882-7331-1" This is a multi-part message in MIME format... ------------=_1569953882-7331-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #37558: [PATCH] cmp: fix address spacing with -l 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 37558@debbugs.gnu.org. --=20 37558: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D37558 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1569953882-7331-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 37558-done) by debbugs.gnu.org; 1 Oct 2019 18:17:47 +0000 Received: from localhost ([127.0.0.1]:34725 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iFMiZ-0001th-3X for submit@debbugs.gnu.org; Tue, 01 Oct 2019 14:17:47 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:36220) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iFMiU-0001tH-Sv for 37558-done@debbugs.gnu.org; Tue, 01 Oct 2019 14:17:45 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id B39CC16027B; Tue, 1 Oct 2019 11:17:36 -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 7Q-D6ERTMUEz; Tue, 1 Oct 2019 11:17:35 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id E1255160260; Tue, 1 Oct 2019 11:17:35 -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 in25hdmigAXF; Tue, 1 Oct 2019 11:17:35 -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 C184D16023F; Tue, 1 Oct 2019 11:17:35 -0700 (PDT) Subject: Re: [bug-diffutils] bug#37558: [PATCH] cmp: fix address spacing with -l To: "dmo2118@gmail.com" , 37558-done@debbugs.gnu.org References: From: Paul Eggert Organization: UCLA Computer Science Department Message-ID: Date: Tue, 1 Oct 2019 11:17:35 -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: Content-Type: multipart/mixed; boundary="------------7A2051D1D265AFF2B0283F15" Content-Language: en-US X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37558-done 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. --------------7A2051D1D265AFF2B0283F15 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Thanks for the bug report, test case and fix. I installed the attached, which fixes the bug in a different way to be portable to platforms where off_t is narrower than intmax_t. --------------7A2051D1D265AFF2B0283F15 Content-Type: text/x-patch; charset=UTF-8; name="0001-cmp-fix-l-width-bug.patch" Content-Disposition: attachment; filename="0001-cmp-fix-l-width-bug.patch" Content-Transfer-Encoding: quoted-printable >From 3f11e21091a88937908d067dd800ad678e39abcb Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 1 Oct 2019 11:08:30 -0700 Subject: [PATCH 1/2] cmp: fix -l width bug MIME-Version: 1.0 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 8bit Problem reported by Dave Odell (Bug#37558). * src/cmp.c (cmp): Treat negative =E2=80=98bytes=E2=80=99 as infinite, fi= xing a bug introduced in the 2019-08-27 patch that fixed Bug#35256. --- src/cmp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cmp.c b/src/cmp.c index 16e8869..5152ca0 100644 --- a/src/cmp.c +++ b/src/cmp.c @@ -394,7 +394,8 @@ cmp (void) =20 if (comparison_type =3D=3D type_all_diffs) { - off_t byte_number_max =3D MIN (bytes, TYPE_MAXIMUM (off_t)); + off_t byte_number_max =3D (0 <=3D bytes && bytes <=3D TYPE_MAXIMUM= (off_t) + ? bytes : TYPE_MAXIMUM (off_t)); =20 for (f =3D 0; f < 2; f++) if (S_ISREG (stat_buf[f].st_mode)) --=20 2.21.0 --------------7A2051D1D265AFF2B0283F15 Content-Type: text/x-patch; charset=UTF-8; name="0002-cmp-add-test-case-for-Bug-37558.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0002-cmp-add-test-case-for-Bug-37558.patch" >From 845e03a2c1d5fa137b4df33e048b008b7b6c3153 Mon Sep 17 00:00:00 2001 From: Dave Odell Date: Tue, 1 Oct 2019 11:09:15 -0700 Subject: [PATCH 2/2] cmp: add test case for Bug#37558 * tests/cmp: New test case (Bug#37558). Copyright-paperwork-exempt: yes --- tests/cmp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/cmp b/tests/cmp index 97f2b5f..ff49388 100755 --- a/tests/cmp +++ b/tests/cmp @@ -218,4 +218,14 @@ case `LC_ALL=C cmp -b bad bug` in *) echo 'expected cmp -b to report a and u'; fail=1;; esac +printf 'Jackdaws love my big sphinx of quartz!' > j1 +printf 'jackdaws love my big sphinx of quartz.' > j2 +cat <<'EOF' > exp2 || fail=1 + 1 112 J 152 j +38 41 ! 56 . +EOF +cmp -bl j1 j2 > out2 +test $? -eq 1 || fail=1 +compare exp2 out2 || fail=1 + Exit $fail -- 2.21.0 --------------7A2051D1D265AFF2B0283F15-- ------------=_1569953882-7331-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 30 Sep 2019 00:32:35 +0000 Received: from localhost ([127.0.0.1]:56231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iEjcA-000726-NI for submit@debbugs.gnu.org; Sun, 29 Sep 2019 20:32:35 -0400 Received: from lists.gnu.org ([209.51.188.17]:43411) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iEjE6-00020f-70 for submit@debbugs.gnu.org; Sun, 29 Sep 2019 20:07:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49990) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iEjE5-0008Ss-1T for bug-diffutils@gnu.org; Sun, 29 Sep 2019 20:07:42 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_50, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iEjE4-0006z3-2V for bug-diffutils@gnu.org; Sun, 29 Sep 2019 20:07:40 -0400 Received: from mail-io1-xd2a.google.com ([2607:f8b0:4864:20::d2a]:38823) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iEjE3-0006ym-Rd for bug-diffutils@gnu.org; Sun, 29 Sep 2019 20:07:40 -0400 Received: by mail-io1-xd2a.google.com with SMTP id u8so33473040iom.5 for ; Sun, 29 Sep 2019 17:07:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:mime-version:content-language :content-transfer-encoding; bh=Xd0LtjSH1RCzDnTsuHletlU7cfCmuh7xF5Qc82co2l4=; b=VOw1C+2hQ4f5upfE3Du1SkTIdWiLn7h01EIMdUi9Jx4RPDeJHB2vmNE/qjMLCt5ceq 7fEHyyYzZv4Nl9BXy+V9/CFGDq6MLfvsAjb66yLZxBXL2j16gLDhdxs8spNTTFR7Zqt3 w/3mnM30wOFuJ9zaUdng9V7+t7I0vd/ezVCnOoJmPW84S3NMFv4CQygQzvqS1xzdhcoG 3iWBOwjsE5+jsjUDKzkBYmZRkePv2DOZJJyrCzm1K5yTIVjCCt7GvSxk7xHWfYuhsEo5 XXvZlg+6XZHrFR00nK1OcAGDd8atQQZSP080AJnNqY6Gzg1AFsf583E5ozK2r84VXRUM ZS8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:mime-version :content-language:content-transfer-encoding; bh=Xd0LtjSH1RCzDnTsuHletlU7cfCmuh7xF5Qc82co2l4=; b=SImpbgHTsjfUkM0bmHxVTQZmATwseyAcXZtpkoN6Ngq5XuWCLFSosKogYFE+gPT+rn FhH8ZoqwvMAM2NqBr3Cs6vK/KZHllFawCaNhBfM59DK4GJ7YIwEMsdHlbVr54FsK6iz2 BnUroDieCao+bsb72AhqgiF40zRrB84gahPEh/lwkyVzWAmvIeuvCkETxd8T9Os0okS9 gKB1BddQNhuM/OUdscEokPBXpIq0iUIOETkttwXbdpC2m0Ig8oWlgAyDLIIyj2VfRLnK /+TBpmPQsBVFKdgNPpqzSBvBj/8K3BbDXQU8wOViKQ7He1YGa9cyHGZ9vQTaX8+gITRv B0BQ== X-Gm-Message-State: APjAAAU68MmTj/izDsY3WHeKXrXsRD6u8Agt3WOnk2FTGE8TrLZ0F+Fn sDWO6ULBok08IjZ4i1kBn59LMNpR X-Google-Smtp-Source: APXvYqx/SkFSb3vP6iYDYUF7MnFsQCz1bMe+M0sXM9IFUI3PwT/1ZoIlI5zLH978J2ikvINhW4NlTQ== X-Received: by 2002:a5d:8e0d:: with SMTP id e13mr18654433iod.3.1569802058318; Sun, 29 Sep 2019 17:07:38 -0700 (PDT) Received: from [192.168.42.64] (81.sub-174-230-130.myvzw.com. [174.230.130.81]) by smtp.googlemail.com with ESMTPSA id i26sm5075729iol.84.2019.09.29.17.07.36 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 29 Sep 2019 17:07:37 -0700 (PDT) To: bug-diffutils@gnu.org From: "dmo2118@gmail.com" Subject: [PATCH] cmp: fix address spacing with -l Message-ID: Date: Sun, 29 Sep 2019 20:07:28 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::d2a X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sun, 29 Sep 2019 20:32:33 -0400 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.1 (--) Looks like there's a bit of a spacing goof with 'cmp -l': $ cat /tmp/j1 Jackdaws love my big sphinx of quartz! $ cat /tmp/j2 jackdaws love my big sphinx of quartz. $ ./cmp -l j1 j2 1 112 152 38 41 56 I think this fixes it. diff --git a/src/cmp.c b/src/cmp.c index 16e8869..3124b98 100644 --- a/src/cmp.c +++ b/src/cmp.c @@ -394,7 +394,7 @@ cmp (void) if (comparison_type == type_all_diffs) { - off_t byte_number_max = MIN (bytes, TYPE_MAXIMUM (off_t)); + off_t byte_number_max = bytes >= 0 ? bytes : TYPE_MAXIMUM (off_t); for (f = 0; f < 2; f++) if (S_ISREG (stat_buf[f].st_mode)) diff --git a/tests/cmp b/tests/cmp index 97f2b5f..ff49388 100755 --- a/tests/cmp +++ b/tests/cmp @@ -218,4 +218,14 @@ case `LC_ALL=C cmp -b bad bug` in *) echo 'expected cmp -b to report a and u'; fail=1;; esac +printf 'Jackdaws love my big sphinx of quartz!' > j1 +printf 'jackdaws love my big sphinx of quartz.' > j2 +cat <<'EOF' > exp2 || fail=1 + 1 112 J 152 j +38 41 ! 56 . +EOF +cmp -bl j1 j2 > out2 +test $? -eq 1 || fail=1 +compare exp2 out2 || fail=1 + Exit $fail Dave Odell ------------=_1569953882-7331-1--