From unknown Tue Aug 19 23:09:08 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#23825 <23825@debbugs.gnu.org> To: bug#23825 <23825@debbugs.gnu.org> Subject: Status: maint: avoid md5sum.c warning from bleeding-edge gcc's -Wstrict-overflow Reply-To: bug#23825 <23825@debbugs.gnu.org> Date: Wed, 20 Aug 2025 06:09:08 +0000 retitle 23825 maint: avoid md5sum.c warning from bleeding-edge gcc's -Wstri= ct-overflow reassign 23825 coreutils submitter 23825 Jim Meyering severity 23825 normal tag 23825 fixed thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 22 10:37:46 2016 Received: (at submit) by debbugs.gnu.org; 22 Jun 2016 14:37:46 +0000 Received: from localhost ([127.0.0.1]:51266 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bFjHm-0004IS-Fc for submit@debbugs.gnu.org; Wed, 22 Jun 2016 10:37:46 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36095) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bFjHk-0004IG-UK for submit@debbugs.gnu.org; Wed, 22 Jun 2016 10:37:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFjHe-0008LA-7E for submit@debbugs.gnu.org; Wed, 22 Jun 2016 10:37:39 -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.0 required=5.0 tests=BAYES_20,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:46449) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFjHe-0008Ki-2m for submit@debbugs.gnu.org; Wed, 22 Jun 2016 10:37:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55239) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFjHW-0000lw-TS for bug-coreutils@gnu.org; Wed, 22 Jun 2016 10:37:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFjHU-0008JX-QB for bug-coreutils@gnu.org; Wed, 22 Jun 2016 10:37:29 -0400 Received: from mail-oi0-x232.google.com ([2607:f8b0:4003:c06::232]:34719) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFjHU-0008JT-KY for bug-coreutils@gnu.org; Wed, 22 Jun 2016 10:37:28 -0400 Received: by mail-oi0-x232.google.com with SMTP id s66so24863718oif.1 for ; Wed, 22 Jun 2016 07:37:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:from:date:message-id:subject:to; bh=VD21Nr1rLRqnTQhW/FB0Gp6EVw68DgEOLR8eszxSjD8=; b=JKjCEi/E4zrclaJOfAiLWRlpVYDKxZSLa1lupuewi1zYpvKnewrDwlLBSFYe7WrKpd SFqRkEkOIklgnxzAQ8okR4aRUt+HUwyChdSJYNJpGE7b6+r4EsGbAZBZa5xwmLPoTS9Y e3XmfZHvypsLbcbKGb2hnNlXrvfhkqEBoCFhCh2ssv9dIByBm+iUGEyM3qexRdxOnP9y p3EsLCTt6Hsdp1cQn5gJCbWp7D9ZCjVXQex2YQhzz8YJ8S2lvHkhx5r+JMOk8KaFVCre 62v5MZC7sqNDxh+eqJ2Q0I0ealYhhV1p/n0afT9ubMWJpDZEqjTYzA/+AXAbOWldaxXo DtnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:from:date:message-id:subject :to; bh=VD21Nr1rLRqnTQhW/FB0Gp6EVw68DgEOLR8eszxSjD8=; b=ihCTBv+fa2j1yRNOqwip4ezAtTrgeoS0pDEfU9s/9ibZ/TV6uQk/y2I8woslmShYwS MHFyewaVsWPzrA6bTp8HNEoo+oU/wBEHpgWs2ASS9Jaw+dhD1Vvst8xz2fL3ETbahpFm MfTbWEzucx3JKFJSacJz4Vkx5xk4kojBOE/arxmU8mVcqauUI1TpvPwITAvvbOqtm80I LPtcXKEjPw1hB18h4MVodS2iQ0J6VVJHkpDR+5f6DvjX1beIC+4aa83S/YxLQ0sEXv63 QTn9UfVcuU/PR2KJ/1e5n3sNdg/S36kEIOApUcS6yvp4Ye1TXp5aoxlMqY7x+1Wzx94n Ai/g== X-Gm-Message-State: ALyK8tI8gQM5rm8RfqSZm4aBFeaxihGy1czGCHEyCw6QiwuN2Bdu+4+cvhRtPxBcT1+EZEWj2nM0EFURPyk7Mw== X-Received: by 10.157.5.194 with SMTP id 60mr1939743otd.161.1466606247264; Wed, 22 Jun 2016 07:37:27 -0700 (PDT) MIME-Version: 1.0 Received: by 10.202.73.23 with HTTP; Wed, 22 Jun 2016 07:37:07 -0700 (PDT) From: Jim Meyering Date: Wed, 22 Jun 2016 07:37:07 -0700 X-Google-Sender-Auth: zwUGJQkWCCaXv1s45EczQjUUruE Message-ID: Subject: maint: avoid md5sum.c warning from bleeding-edge gcc's -Wstrict-overflow To: bug-coreutils@gnu.org Content-Type: multipart/mixed; boundary=001a113e15fc650f240535dee04d X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) 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: -4.0 (----) --001a113e15fc650f240535dee04d Content-Type: text/plain; charset=UTF-8 Building with a recent gcc-7 failed, so I wrote the attached patch. I think we'll never have 2^31 command line arguments, so "unsigned int" will ll be ok: maint: avoid md5sum.c warning from bleeding-edge gcc's -Wstrict-overflow Avoid this warning/error from gcc: src/md5sum.c:870:3: error: assuming signed overflow does not occur \ when simplifying conditional to constant [-Werror=strict-overflow] * src/md5sum.c (main): Use an unsigned variable as the loop index, rather than optind. --001a113e15fc650f240535dee04d Content-Type: text/x-patch; charset=US-ASCII; name="0001-maint-avoid-md5sum.c-warning-from-bleeding-edge-gcc-.patch" Content-Disposition: attachment; filename="0001-maint-avoid-md5sum.c-warning-from-bleeding-edge-gcc-.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ipqzbeq20 RnJvbSA4OTEyYWE3YzZkYzdhY2I3NmQyZGU2NDhlODkwOTg5NDNiZmUxNDlhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQGZiLmNvbT4KRGF0ZTog V2VkLCAyMiBKdW4gMjAxNiAwNzoxODoxNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIG1haW50OiBh dm9pZCBtZDVzdW0uYyB3YXJuaW5nIGZyb20gYmxlZWRpbmctZWRnZSBnY2MncwogLVdzdHJpY3Qt b3ZlcmZsb3cKCkF2b2lkIHRoaXMgd2FybmluZy9lcnJvciBmcm9tIGdjYzoKICBzcmMvbWQ1c3Vt LmM6ODcwOjM6IGVycm9yOiBhc3N1bWluZyBzaWduZWQgb3ZlcmZsb3cgZG9lcyBub3Qgb2NjdXIg XAogIHdoZW4gc2ltcGxpZnlpbmcgY29uZGl0aW9uYWwgdG8gY29uc3RhbnQgWy1XZXJyb3I9c3Ry aWN0LW92ZXJmbG93XQoqIHNyYy9tZDVzdW0uYyAobWFpbik6IFVzZSBhbiB1bnNpZ25lZCB2YXJp YWJsZSBhcyB0aGUgbG9vcCBpbmRleCwKcmF0aGVyIHRoYW4gb3B0aW5kLgotLS0KIHNyYy9tZDVz dW0uYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvbWQ1c3VtLmMgYi9zcmMvbWQ1c3VtLmMKaW5kZXggMzkx MzJlMy4uZmEyODQwYiAxMDA2NDQKLS0tIGEvc3JjL21kNXN1bS5jCisrKyBiL3NyYy9tZDVzdW0u YwpAQCAtODY3LDkgKzg2Nyw5IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgaWYg KG9wdGluZCA9PSBhcmdjKQogICAgIGFyZ3ZbYXJnYysrXSA9IGJhZF9jYXN0ICgiLSIpOwoKLSAg Zm9yICg7IG9wdGluZCA8IGFyZ2M7ICsrb3B0aW5kKQorICBmb3IgKHVuc2lnbmVkIGludCBqID0g b3B0aW5kOyBqIDwgYXJnYzsgKytqKQogICAgIHsKLSAgICAgIGNoYXIgKmZpbGUgPSBhcmd2W29w dGluZF07CisgICAgICBjaGFyICpmaWxlID0gYXJndltqXTsKCiAgICAgICBpZiAoZG9fY2hlY2sp CiAgICAgICAgIG9rICY9IGRpZ2VzdF9jaGVjayAoZmlsZSk7Ci0tIAoyLjguMC1yYzIKCg== --001a113e15fc650f240535dee04d-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 23 03:14:16 2016 Received: (at submit) by debbugs.gnu.org; 23 Jun 2016 07:14:16 +0000 Received: from localhost ([127.0.0.1]:51730 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bFyq8-00068X-DJ for submit@debbugs.gnu.org; Thu, 23 Jun 2016 03:14:16 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36800) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bFyq5-00068I-K4 for submit@debbugs.gnu.org; Thu, 23 Jun 2016 03:14:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFypz-0006Yt-3W for submit@debbugs.gnu.org; Thu, 23 Jun 2016 03:14:08 -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]:52368) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFypz-0006Yd-0V for submit@debbugs.gnu.org; Thu, 23 Jun 2016 03:14:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55998) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFypw-0008MH-Di for bug-coreutils@gnu.org; Thu, 23 Jun 2016 03:14:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFyps-0006Xv-3w for bug-coreutils@gnu.org; Thu, 23 Jun 2016 03:14:03 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:58598) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFypr-0006Xm-RF for bug-coreutils@gnu.org; Thu, 23 Jun 2016 03:14:00 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id B7BE91614AC for ; Thu, 23 Jun 2016 00:13:58 -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 0q4pJMPjE-wV for ; Thu, 23 Jun 2016 00:13:57 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id C708F1614A4 for ; Thu, 23 Jun 2016 00:13:57 -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 ca6s_m8cPUDP for ; Thu, 23 Jun 2016 00:13:57 -0700 (PDT) Received: from [192.168.1.2] (host144-218-dynamic.32-79-r.retail.telecomitalia.it [79.32.218.144]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 28FC2161497 for ; Thu, 23 Jun 2016 00:13:56 -0700 (PDT) Subject: Re: bug#23825: maint: avoid md5sum.c warning from bleeding-edge gcc's -Wstrict-overflow To: bug-coreutils@gnu.org References: From: Paul Eggert Message-ID: <576B8C31.4050404@cs.ucla.edu> Date: Thu, 23 Jun 2016 09:13:53 +0200 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------020804050402070109030206" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) 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: -4.0 (----) This is a multi-part message in MIME format. --------------020804050402070109030206 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit On 06/22/2016 04:37 PM, Jim Meyering wrote: > Building with a recent gcc-7 failed, so I wrote the attached patch. I > think we'll never have 2^31 command line arguments I would rather fix the code so that it works even if argc is initially INT_MAX; the code currently has undefined behavior in that case. I have drafted a patch for this (attached; does not have changelog entries yet) and will test it a bit. I assume this will fix the warning (don't have gcc-7 offhand so can't test this). As the patch shows, a couple of other coreutils programs have a similar bug; I'm a bit surprised gcc-7 didn't complain about them. Incidentally, 'yes' has a different bug: it mishandles the case where 'write' succeeds but returns a value less than the buffer size. I'll try to look into that too. Simplest would be to use stdio (the comments indicate this has performance issues but I don't know what they are, anyway correctness trumps performance). --------------020804050402070109030206 Content-Type: text/x-patch; name="coreutils.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="coreutils.diff" diff --git a/src/md5sum.c b/src/md5sum.c index 39132e3..3ed1b65 100644 --- a/src/md5sum.c +++ b/src/md5sum.c @@ -864,12 +864,13 @@ main (int argc, char **argv) if (!O_BINARY && binary < 0) binary = 0; + char **operand_lim = argv + argc; if (optind == argc) - argv[argc++] = bad_cast ("-"); + *operand_lim++ = bad_cast ("-"); - for (; optind < argc; ++optind) + for (char **operandp = argv + optind; operandp < operand_lim; operandp++) { - char *file = argv[optind]; + char *file = *operandp; if (do_check) ok &= digest_check (file); diff --git a/src/paste.c b/src/paste.c index bf99fe0..7914aef 100644 --- a/src/paste.c +++ b/src/paste.c @@ -465,7 +465,6 @@ int main (int argc, char **argv) { int optc; - bool ok; char const *delim_arg = "\t"; initialize_main (&argc, &argv); @@ -505,8 +504,12 @@ main (int argc, char **argv) } } - if (optind == argc) - argv[argc++] = bad_cast ("-"); + int nfiles = argc - optind; + if (nfiles == 0) + { + argv[optind] = bad_cast ("-"); + nfiles++; + } if (collapse_escapes (delim_arg)) { @@ -517,10 +520,8 @@ main (int argc, char **argv) quotearg_n_style_colon (0, c_maybe_quoting_style, delim_arg)); } - if (!serial_merge) - ok = paste_parallel (argc - optind, &argv[optind]); - else - ok = paste_serial (argc - optind, &argv[optind]); + bool ok = ((serial_merge ? paste_serial : paste_parallel) + (nfiles, &argv[optind])); free (delims); diff --git a/src/yes.c b/src/yes.c index 1d2c612..e127310 100644 --- a/src/yes.c +++ b/src/yes.c @@ -60,7 +60,6 @@ main (int argc, char **argv) { char buf[BUFSIZ]; char *pbuf = buf; - int i; initialize_main (&argc, &argv); set_program_name (argv[0]); @@ -75,24 +74,25 @@ main (int argc, char **argv) if (getopt_long (argc, argv, "+", NULL, NULL) != -1) usage (EXIT_FAILURE); - if (argc <= optind) - { - optind = argc; - argv[argc++] = bad_cast ("y"); - } + char **operand_lim = argv + argc; + if (optind == argc) + *operand_lim++ = bad_cast ("-"); /* Buffer data locally once, rather than having the large overhead of stdio buffering each item. */ - for (i = optind; i < argc; i++) + char **operandp; + for (operandp = argv + optind; operandp < operand_lim; operandp++) { - size_t len = strlen (argv[i]); + size_t len = strlen (*operandp); if (BUFSIZ < len || BUFSIZ - len <= pbuf - buf) break; - memcpy (pbuf, argv[i], len); + memcpy (pbuf, *operandp, len); pbuf += len; - *pbuf++ = i == argc - 1 ? '\n' : ' '; + *pbuf++ = operandp + 1 == operand_lim ? '\n' : ' '; } - if (i == argc) + + /* The normal case is to continuously output the local buffer. */ + if (operandp == operand_lim) { size_t line_len = pbuf - buf; size_t lines = BUFSIZ / line_len; @@ -101,32 +101,27 @@ main (int argc, char **argv) memcpy (pbuf, pbuf - line_len, line_len); pbuf += line_len; } - } - /* The normal case is to continuously output the local buffer. */ - while (i == argc) - { - if (write (STDOUT_FILENO, buf, pbuf - buf) == -1) - { - error (0, errno, _("standard output")); - return EXIT_FAILURE; - } + while (0 <= write (STDOUT_FILENO, buf, pbuf - buf)) + continue; + + error (0, errno, _("standard output")); + return EXIT_FAILURE; } /* If the data doesn't fit in BUFSIZ then output what we've buffered, and iterate over the remaining items. */ - while (true /* i != argc */) + while (true) { - int j; if ((pbuf - buf) && fwrite (buf, pbuf - buf, 1, stdout) != 1) { error (0, errno, _("standard output")); clearerr (stdout); return EXIT_FAILURE; } - for (j = i; j < argc; j++) - if (fputs (argv[j], stdout) == EOF - || putchar (j == argc - 1 ? '\n' : ' ') == EOF) + for (char **trailing = operandp; trailing < operand_lim; trailing++) + if (fputs (*trailing, stdout) == EOF + || putchar (trailing + 1 == operand_lim ? '\n' : ' ') == EOF) { error (0, errno, _("standard output")); clearerr (stdout); --------------020804050402070109030206-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 23 09:26:46 2016 Received: (at 23825) by debbugs.gnu.org; 23 Jun 2016 13:26:46 +0000 Received: from localhost ([127.0.0.1]:51939 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bG4ec-0001WY-CC for submit@debbugs.gnu.org; Thu, 23 Jun 2016 09:26:46 -0400 Received: from mail.magicbluesmoke.com ([82.195.144.49]:44173) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bG4eZ-0001WN-TA for 23825@debbugs.gnu.org; Thu, 23 Jun 2016 09:26:44 -0400 Received: from [192.168.1.80] (unknown [109.76.68.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.magicbluesmoke.com (Postfix) with ESMTPSA id 7F523985A; Thu, 23 Jun 2016 14:26:42 +0100 (IST) Subject: Re: bug#23825: maint: avoid md5sum.c warning from bleeding-edge gcc's -Wstrict-overflow To: Paul Eggert , 23825@debbugs.gnu.org References: <576B8C31.4050404@cs.ucla.edu> From: =?UTF-8?Q?P=c3=a1draig_Brady?= Message-ID: <576BE391.7010401@draigBrady.com> Date: Thu, 23 Jun 2016 14:26:41 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <576B8C31.4050404@cs.ucla.edu> Content-Type: multipart/mixed; boundary="------------000404040202080106050803" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 23825 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: 0.0 (/) This is a multi-part message in MIME format. --------------000404040202080106050803 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit On 23/06/16 08:13, Paul Eggert wrote: > Incidentally, 'yes' has a different bug: it mishandles the case where > 'write' succeeds but returns a value less than the buffer size. I'll try > to look into that too. Simplest would be to use stdio (the comments > indicate this has performance issues but I don't know what they are, > anyway correctness trumps performance). Good spot on the yes(1) write(2) bug. Shouldn't impact too often due to smallish BUFSIZ, and subsequent writes catching ENOSPC, but definitely could cause issues. The attached should fix that up, and keep the same performance characteristics. cheers, Pádraig --------------000404040202080106050803 Content-Type: text/x-patch; name="yes-short-write.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="yes-short-write.patch" >From f410acd5fb0e9aa71809123b7f28b4f5565a2cf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Thu, 23 Jun 2016 14:15:59 +0100 Subject: [PATCH] yes: handle short writes * src/yes.c (main): Loop over the write buffer to handle the case where write may write less than requested. * NEWS: Mention the bug fix. Reported by Paul Eggert. --- NEWS | 3 +++ src/yes.c | 14 +++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 71b5c24..daf4367 100644 --- a/NEWS +++ b/NEWS @@ -21,6 +21,9 @@ GNU coreutils NEWS -*- outline -*- seq now immediately exits upon write errors. [This bug was present in "the beginning".] + yes now handles short writes, rather than assuming a single write succeeds. + [bug introduced in coreutils-8.24] + ** Changes in behavior seq no longer accepts 0 value as increment, and now also rejects NaN diff --git a/src/yes.c b/src/yes.c index 1d2c612..fd96b07 100644 --- a/src/yes.c +++ b/src/yes.c @@ -106,10 +106,18 @@ main (int argc, char **argv) /* The normal case is to continuously output the local buffer. */ while (i == argc) { - if (write (STDOUT_FILENO, buf, pbuf - buf) == -1) + const char* pwrite = buf; + size_t to_write = pbuf - buf; + while (to_write) { - error (0, errno, _("standard output")); - return EXIT_FAILURE; + ssize_t written = write (STDOUT_FILENO, pwrite, to_write); + if (written < 0) + { + error (0, errno, _("standard output")); + return EXIT_FAILURE; + } + to_write -= written; + pwrite += written; } } -- 2.5.5 --------------000404040202080106050803-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 23 13:29:34 2016 Received: (at 23825) by debbugs.gnu.org; 23 Jun 2016 17:29:34 +0000 Received: from localhost ([127.0.0.1]:52936 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bG8RZ-0001HA-SL for submit@debbugs.gnu.org; Thu, 23 Jun 2016 13:29:34 -0400 Received: from mail-oi0-f45.google.com ([209.85.218.45]:35884) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bG8RX-0001Gw-LK for 23825@debbugs.gnu.org; Thu, 23 Jun 2016 13:29:32 -0400 Received: by mail-oi0-f45.google.com with SMTP id f189so80615121oig.3 for <23825@debbugs.gnu.org>; Thu, 23 Jun 2016 10:29:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-transfer-encoding; bh=TXfDvdbJOTFjAY/pwIREd50/vUSmuxQ/tPtAG+xhWLE=; b=xxl9tjaPvsUvTq6xOKi2Fv2UcwUaNhZlByra8DnV1Ca7YUQCuD6xkGgH/MAX7nqhcE vb5Ve3kf+Ujff7OxPQdSHm3OcWh6wcZ6GTpkCso2zXi8yCqqziSHIJ9xOMMAr6HqpegM F+BMFvFCg12eR+WkFvzRGfEoZREAJjR53iMujRfkPl6pMGKFmQqFueewj4krgVl3gZ+5 PZH/qE4ZtswhjoLTbGk4IGGusDevh5+iyLJtLeVV1Jqz1XNwU7biF+hqsaF+o9I+Sala rcg88Fu2rDpbmqx72vDsaboQt6AuVvSK3TNNmddjHqCE9H9JpZj6rYKQzhyn3nKbLssz Rk4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc:content-transfer-encoding; bh=TXfDvdbJOTFjAY/pwIREd50/vUSmuxQ/tPtAG+xhWLE=; b=IZvnt2JXlxucR+XQTGRUCnyA01kHXjgwBLLUyLBcqkhp2bme0Pv19nAkh1fc3FVMz3 8DrsdTk+YDiHo3yePcS75VhLVkz0wtbFRfm5TMUEHUm2pIcUE+NbfzwEFIQ5KoDU+Bmh rgm0evUKpQLSjXPc3fdxVe/Pq+hq34jCBCWfEs3x1mMyLAjzdU2q/6/HcDKQnozQPQJx l6R2L11qIQtplSdNUNSXMI8mHCaLJJXenEsWclG4I8xEFzE3HusmjIPXKOBnf3gmruic DXaPP4bXLxOa1T0NMrK8nFXR3qf3Jyh8HsL6zd7ykPJrhdZ9rzYzYF1zXt94XaVCRKAP 6emg== X-Gm-Message-State: ALyK8tJ3A4DkOIaNzEn4GpiGBw3bFR/k4McbYh5mKzE6M2FUuTLNXqvapZYFtxBucAbIdFQ4ufne0bdb/KKIBg== X-Received: by 10.157.32.166 with SMTP id x35mr7384583ota.32.1466702965819; Thu, 23 Jun 2016 10:29:25 -0700 (PDT) MIME-Version: 1.0 Received: by 10.202.73.23 with HTTP; Thu, 23 Jun 2016 10:29:06 -0700 (PDT) In-Reply-To: <576BE391.7010401@draigBrady.com> References: <576B8C31.4050404@cs.ucla.edu> <576BE391.7010401@draigBrady.com> From: Jim Meyering Date: Thu, 23 Jun 2016 11:29:06 -0600 X-Google-Sender-Auth: Z4qNTm9OJ4vlCdbwfoE_9rtZrhg Message-ID: Subject: Re: bug#23825: maint: avoid md5sum.c warning from bleeding-edge gcc's -Wstrict-overflow To: =?UTF-8?Q?P=C3=A1draig_Brady?= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 23825 Cc: Paul Eggert , 23825@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: -0.5 (/) On Thu, Jun 23, 2016 at 7:26 AM, P=C3=A1draig Brady wrot= e: > On 23/06/16 08:13, Paul Eggert wrote: >> Incidentally, 'yes' has a different bug: it mishandles the case where >> 'write' succeeds but returns a value less than the buffer size. I'll try >> to look into that too. Simplest would be to use stdio (the comments >> indicate this has performance issues but I don't know what they are, >> anyway correctness trumps performance). > > Good spot on the yes(1) write(2) bug. > Shouldn't impact too often due to smallish BUFSIZ, > and subsequent writes catching ENOSPC, > but definitely could cause issues. > > The attached should fix that up, and keep the same > performance characteristics. Hi P=C3=A1draig, Thank you. That looks fine, modulo a formatting nit. I'd correct it like th= is: -const char* pwrite =3D buf +const char *pwrite =3D buf Hi Paul, Thank you, too. I confirmed that all compile (using yesterday's gcc-7 snapshot) with your patch. My only reservation is barely worth mentioning: the new variable names, operandp and operand_lim are a bit too long for my taste (at least in the files where all uses are very near the definitions). On the other hand, they are also more readable than alternatives that came to mind, and in some cases are used far enough away from point of definition that one can justify that added length. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 23 14:20:15 2016 Received: (at 23825) by debbugs.gnu.org; 23 Jun 2016 18:20:15 +0000 Received: from localhost ([127.0.0.1]:52967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bG9Ed-0002WS-3d for submit@debbugs.gnu.org; Thu, 23 Jun 2016 14:20:15 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:33174) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bG9Eb-0002WC-KR for 23825@debbugs.gnu.org; Thu, 23 Jun 2016 14:20:14 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 6BEB91614C2; Thu, 23 Jun 2016 11:20:06 -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 9LxRyg5O7OtC; Thu, 23 Jun 2016 11:20:05 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 402D71614C5; Thu, 23 Jun 2016 11:20:05 -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 pJSasHrGUW8c; Thu, 23 Jun 2016 11:20:05 -0700 (PDT) Received: from [192.168.1.2] (host143-218-dynamic.32-79-r.retail.telecomitalia.it [79.32.218.143]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 0F1EC1614A4; Thu, 23 Jun 2016 11:20:03 -0700 (PDT) Subject: Re: bug#23825: maint: avoid md5sum.c warning from bleeding-edge gcc's -Wstrict-overflow To: Jim Meyering , =?UTF-8?Q?P=c3=a1draig_Brady?= References: <576B8C31.4050404@cs.ucla.edu> <576BE391.7010401@draigBrady.com> From: Paul Eggert Message-ID: <576C284C.5010803@cs.ucla.edu> Date: Thu, 23 Jun 2016 20:19:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 23825 Cc: 23825@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: -1.4 (-) On 06/23/2016 07:29 PM, Jim Meyering wrote: > My only reservation is barely worth mentioning: the new > variable names, operandp and operand_lim are a bit too long for my > taste (at least in the files where all uses are very near the > definitions). On the other hand, they are also more readable than > alternatives that came to mind, and in some cases are used far enough > away from point of definition that one can justify that added length. Exactly the thoughts that ran through my head! I couldn't think of better names either. The word "operand" came from the technical term used in the POSIX spec for utility arguments. If someone else can come up with a better (shorter) name I'm all for using it. In the meantime I installed the patch. From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 24 19:09:16 2016 Received: (at 23825) by debbugs.gnu.org; 24 Jun 2016 23:09:16 +0000 Received: from localhost ([127.0.0.1]:54722 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bGaDs-0002Jb-Lc for submit@debbugs.gnu.org; Fri, 24 Jun 2016 19:09:16 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:47900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bGaDq-0002JN-Li for 23825@debbugs.gnu.org; Fri, 24 Jun 2016 19:09:15 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id A047C1613F6; Fri, 24 Jun 2016 16:09:08 -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 3x5vSafusrqO; Fri, 24 Jun 2016 16:09:08 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 0DD991614DF; Fri, 24 Jun 2016 16:09:08 -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 o2Dw7DcAFplX; Fri, 24 Jun 2016 16:09:07 -0700 (PDT) Received: from [192.168.1.2] (host82-219-dynamic.32-79-r.retail.telecomitalia.it [79.32.219.82]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 246D61613F6; Fri, 24 Jun 2016 16:09:06 -0700 (PDT) Subject: Re: bug#23825: maint: avoid md5sum.c warning from bleeding-edge gcc's -Wstrict-overflow To: Jim Meyering , =?UTF-8?Q?P=c3=a1draig_Brady?= References: <576B8C31.4050404@cs.ucla.edu> <576BE391.7010401@draigBrady.com> From: Paul Eggert Message-ID: <576DBD8A.5010107@cs.ucla.edu> Date: Sat, 25 Jun 2016 01:08:58 +0200 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 23825 Cc: 23825@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: -1.4 (-) I used full_write to simplify that, and also changed it to use just full_write and not a mixture of full_write and stdio. From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 24 23:26:21 2016 Received: (at 23825) by debbugs.gnu.org; 25 Jun 2016 03:26:21 +0000 Received: from localhost ([127.0.0.1]:54819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bGeEf-0001uA-DK for submit@debbugs.gnu.org; Fri, 24 Jun 2016 23:26:21 -0400 Received: from mail.magicbluesmoke.com ([82.195.144.49]:47445) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bGeEe-0001ty-02 for 23825@debbugs.gnu.org; Fri, 24 Jun 2016 23:26:20 -0400 Received: from [192.168.1.80] (unknown [109.79.211.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.magicbluesmoke.com (Postfix) with ESMTPSA id 213A29855; Sat, 25 Jun 2016 04:26:18 +0100 (IST) Subject: Re: bug#23825: maint: avoid md5sum.c warning from bleeding-edge gcc's -Wstrict-overflow To: Paul Eggert , Jim Meyering References: <576B8C31.4050404@cs.ucla.edu> <576BE391.7010401@draigBrady.com> <576DBD8A.5010107@cs.ucla.edu> From: =?UTF-8?Q?P=c3=a1draig_Brady?= Message-ID: <576DF9D8.4060303@draigBrady.com> Date: Sat, 25 Jun 2016 04:26:16 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <576DBD8A.5010107@cs.ucla.edu> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 23825 Cc: 23825@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: 0.0 (/) On 25/06/16 00:08, Paul Eggert wrote: > I used full_write to simplify that, and also changed it to use just > full_write and not a mixture of full_write and stdio. and clever reuse of argv[] for large operands. thanks! Pádraig From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 28 02:13:23 2018 Received: (at 23825) by debbugs.gnu.org; 28 Oct 2018 06:13:23 +0000 Received: from localhost ([127.0.0.1]:46204 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gGeKA-00023l-SG for submit@debbugs.gnu.org; Sun, 28 Oct 2018 02:13:23 -0400 Received: from mail-pg1-f175.google.com ([209.85.215.175]:42425) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gGeK9-00023R-3D; Sun, 28 Oct 2018 02:13:21 -0400 Received: by mail-pg1-f175.google.com with SMTP id i4-v6so2358001pgq.9; Sat, 27 Oct 2018 23:13:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=TVnJk5+U0iSrO/14JwMFJI1ftaGAPuEqE4YpI6tOlmk=; b=TFkxFRK1oK026zWfqE0WCFRTg4LA3tc82Uszmse2wYeQCdpWJJZWB36xE1VdgSq1Ol Ul5OWP7s6k4U92afnVI5WdMybkaN1Gd2yrMKWujeDPicu3qbMjYrGB9+4GHps+jO6fV0 PsYcJi2q8wvRW9+bxn1Bmb5X3dAbGW19diKgADfhhDHmFVGpb8mQ/tSGgxCk42n8ZyKI 5m1ZkIF934vOwBVs/QxYqhxv2vzgcNzBURy/9ppejpegFatUkGLvcj793ACcAt/fE+RT oALiJY3ItTeOJaooTPoadhcW8dmE16YCY6/jfqb5aMO4jKT6YcuxVOTu5H3/9o94pP4L e4fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=TVnJk5+U0iSrO/14JwMFJI1ftaGAPuEqE4YpI6tOlmk=; b=qgAVT/k4BoVHO61CqWdtMv1cqdjeJN3Qg8Phl2DZ7BaosoSf8HT+ud1YkpeQgC+/OG Km1Yawxpj+68VT6+97T++HLEGhSR/FHpmxBJApfdCeQ6vteslAPzKBllUGpVFr02NLHx uV+YiE6f218vrwpv9eMBzNldEM0r2fesEoLRSzFabV3PUkOU2zA2R3JWUoH+yB9D2TaH kDzU80Wz/4vDkBLES81WK0OI4t/IkYk0PCIRkZ0GT0jwoR54yPBQBlAgQlu2mX7WWH1s QpU6SV4h174O8FnT+oVQxCHCqW47ywYDX8nSh/7IYeClkwG1+Rc8Hzni5ddZHjVHL5Uh Fecg== X-Gm-Message-State: AGRZ1gIwO5cH9DCe4Prlys77NM/INk/gYZLI19cuWqKCyMEuVlvaun24 jUP/gjxm9OBSfPpavttLF1V78GtxCD8= X-Google-Smtp-Source: AJdET5c1HWTzjbTf7s6PSPRFhSZeV1JGl7L9dASQsUcadDcrn9o8w6pwnBOL9NxsRPu1QE9dADGUnA== X-Received: by 2002:a63:84c7:: with SMTP id k190mr9252506pgd.333.1540707194623; Sat, 27 Oct 2018 23:13:14 -0700 (PDT) Received: from tomato.housegordon.com (moose.housegordon.com. [184.68.105.38]) by smtp.googlemail.com with ESMTPSA id h6-v6sm18096072pgm.14.2018.10.27.23.13.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 27 Oct 2018 23:13:13 -0700 (PDT) Subject: Re: bug#23825: maint: avoid md5sum.c warning from bleeding-edge gcc's -Wstrict-overflow To: 23825@debbugs.gnu.org References: <576B8C31.4050404@cs.ucla.edu> <576BE391.7010401@draigBrady.com> <576DBD8A.5010107@cs.ucla.edu> <576DF9D8.4060303@draigBrady.com> From: Assaf Gordon Message-ID: <9433b61a-8d66-1ed8-e0fa-a70a742f882a@gmail.com> Date: Sun, 28 Oct 2018 00:13:11 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 In-Reply-To: <576DF9D8.4060303@draigBrady.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 23825 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 (-) tags 23825 fixed close 23825 stop (triaging old bugs) The two discussed issues pushed here: maint: work even if argc == INT_MAX https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=818b2f48974298065a43a8a2d5355e4aaa65c09d yes: handle short writes https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=5845664c8c61faf004eb3ef9979e770f794108c1 Closing as "fixed". -assaf From unknown Tue Aug 19 23:09:08 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 25 Nov 2018 12:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator