From unknown Thu Sep 11 14:10:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#22254: [PATCH] sed: do not elide an invalid byte in a substitution RHS Resent-From: Jim Meyering Original-Sender: "Debbugs-submit" Resent-CC: bug-sed@gnu.org Resent-Date: Mon, 28 Dec 2015 06:04:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 22254 X-GNU-PR-Package: sed X-GNU-PR-Keywords: patch To: 22254@debbugs.gnu.org X-Debbugs-Original-To: bug-sed@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.145128261610353 (code B ref -1); Mon, 28 Dec 2015 06:04:01 +0000 Received: (at submit) by debbugs.gnu.org; 28 Dec 2015 06:03:36 +0000 Received: from localhost ([127.0.0.1]:45259 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDQu7-0002gv-KB for submit@debbugs.gnu.org; Mon, 28 Dec 2015 01:03:35 -0500 Received: from eggs.gnu.org ([208.118.235.92]:44717) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDQu5-0002gj-IU for submit@debbugs.gnu.org; Mon, 28 Dec 2015 01:03:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aDQtw-0001Av-VY for submit@debbugs.gnu.org; Mon, 28 Dec 2015 01:03:28 -0500 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,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:43465) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDQtw-0001Ak-PU for submit@debbugs.gnu.org; Mon, 28 Dec 2015 01:03:24 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35611) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDQtr-0008Hz-Vm for bug-sed@gnu.org; Mon, 28 Dec 2015 01:03:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aDQtJ-00018C-2o for bug-sed@gnu.org; Mon, 28 Dec 2015 01:03:19 -0500 Received: from mail-ig0-x234.google.com ([2607:f8b0:4001:c05::234]:36578) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDQtI-000188-QU for bug-sed@gnu.org; Mon, 28 Dec 2015 01:02:44 -0500 Received: by mail-ig0-x234.google.com with SMTP id ph11so140125744igc.1 for ; Sun, 27 Dec 2015 22:02:44 -0800 (PST) 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:content-type; bh=yzE+gN/4tkEpIsDIzYm3+eIBckUHpoMzDJq2/yT81a4=; b=nt8ZrL+GmhmtfQ8ZyxU/BYAhMbv1avtlzoVdEKtPnKbNWlbDeZ6CDpV/87TBVVw5ie V1GXG/EBoHxulabKNIz4zkjtm0ySJmN7m6QE3fILFQt4nuhgloIx+BJ4vnzPxUk9NqeT ShwdmrLx3XbYzMX44TEKUdONXeIAveoy1athyyKgu6bmeyXn6r7c/PgP9BiK2RLkFXMs lsRCUeCzKbXvEEeQtmxYS+qpKP6n5apK2d06UaEOMjURfMuZpSgMVSNezOrcJX+Fjh00 nD4lBonDdE0PHZuflOzOJz+lMM+gkq25g6Vgk2ph7SLv26sbarrYCkn6wM1fMNJ7K4Qw etwA== X-Received: by 10.50.49.109 with SMTP id t13mr51925007ign.89.1451282563965; Sun, 27 Dec 2015 22:02:43 -0800 (PST) MIME-Version: 1.0 Received: by 10.36.10.18 with HTTP; Sun, 27 Dec 2015 22:02:24 -0800 (PST) From: Jim Meyering Date: Sun, 27 Dec 2015 22:02:24 -0800 X-Google-Sender-Auth: SL3ypL9sv0PwL2O94pdcYqtbAtc Message-ID: Content-Type: multipart/mixed; boundary=047d7bdc1234b1cc690527ef0dbd 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: -3.8 (---) 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.8 (---) --047d7bdc1234b1cc690527ef0dbd Content-Type: text/plain; charset=UTF-8 Just after pushing the fix for that heap-clobbering bug, http://debbugs.gnu.org/22127, I noticed there was another minor problem: sed would silently elide any invalid byte specified in a substitution replacement string. Here's a patch that's not quite complete (no NEWS entry, and I haven't yet tried to determine when it was introduced). --047d7bdc1234b1cc690527ef0dbd Content-Type: text/x-patch; charset=US-ASCII; name="0001-sed-do-not-elide-an-invalid-byte-in-a-substitution-R.patch" Content-Disposition: attachment; filename="0001-sed-do-not-elide-an-invalid-byte-in-a-substitution-R.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iipk4scb0 RnJvbSA3NGY2MDgxMzU4YmZkMjcxZjY3OWI4NzYwMDM2Nzk3NTExMWM3NDM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQGZiLmNvbT4KRGF0ZTog U3VuLCAyNyBEZWMgMjAxNSAyMTo1NjowNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIHNlZDogZG8g bm90IGVsaWRlIGFuIGludmFsaWQgYnl0ZSBpbiBhIHN1YnN0aXR1dGlvbiBSSFMKCk5vdywgc2Vk IGNvcGllcyBzdWNoIGJ5dGVzIGludG8gdGhlIG91dHB1dC4KKiBzZWQvZXhlY3V0ZS5jIChzdHJf YXBwZW5kX21vZGlmaWVkKTogQ29weSBlYWNoIGludmFsaWQgYnl0ZQppbnRvIHRoZSByZXN1bHQg c3RyaW5nLCBhcyB0aGUgY29tbWVudCBzdWdnZXN0cy4KKiB0ZXN0c3VpdGUvaW52YWxpZC1tYi1z ZXEtVU1SLnNoOiBBZGp1c3QgdGhpcyB0ZXN0IHRvIGNvbmZvcm0uClBlcmwgZG9lcyB0aGUgc2Ft ZSB0aGluZy4gIEFsc28sIHJlbW92ZSBhbiB1bm5lY2Vzc2FyeSAiLWUiIG9wdGlvbi4KLS0tCiBz ZWQvZXhlY3V0ZS5jICAgICAgICAgICAgICAgICAgIHwgMSArCiB0ZXN0c3VpdGUvaW52YWxpZC1t Yi1zZXEtVU1SLnNoIHwgNCArKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zZWQvZXhlY3V0ZS5jIGIvc2VkL2V4ZWN1dGUu YwppbmRleCA1YmViZmMyLi45M2I1NjUwIDEwMDY0NAotLS0gYS9zZWQvZXhlY3V0ZS5jCisrKyBi L3NlZC9leGVjdXRlLmMKQEAgLTIyNSw2ICsyMjUsNyBAQCBzdHJfYXBwZW5kX21vZGlmaWVkKHN0 cnVjdCBsaW5lICp0bywgY29uc3QgY2hhciAqc3RyaW5nLCBzaXplX3QgbGVuZ3RoLAogICAgICAg ICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CgorICAgICAgICAgIHN0cl9hcHBlbmQgKHRv LCBzdHJpbmcsIDEpOwogICAgICAgICAgIG1lbXNldCAoJnRvLT5tYnN0YXRlLCAwLCBzaXplb2Yg KGZyb21fc3RhdCkpOwogICAgICAgICAgIG4gPSAxOwogICAgICAgICAgIHN0cmluZyArPSBuLCBs ZW5ndGggLT0gbjsKZGlmZiAtLWdpdCBhL3Rlc3RzdWl0ZS9pbnZhbGlkLW1iLXNlcS1VTVIuc2gg Yi90ZXN0c3VpdGUvaW52YWxpZC1tYi1zZXEtVU1SLnNoCmluZGV4IGY2MzFlMjQuLjBjMTdiOWEg MTAwNzU1Ci0tLSBhL3Rlc3RzdWl0ZS9pbnZhbGlkLW1iLXNlcS1VTVIuc2gKKysrIGIvdGVzdHN1 aXRlL2ludmFsaWQtbWItc2VxLVVNUi5zaApAQCAtMjQsOSArMjQsOSBAQCByZXF1aXJlX3ZhbGdy aW5kXwogdGVzdCAiJExPQ0FMRV9KQSIgPSBub25lICYmIHNraXBfIGZvdW5kIG5vIEphcGFuZXNl IEVVQyBsb2NhbGUKCiBlY2hvIGEgPiBpbiB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KLWVjaG8gYkMg PiBleHAgfHwgZnJhbWV3b3JrX2ZhaWx1cmVfCitwcmludGYgJ2JcMjYyQ1xuJyA+IGV4cCB8fCBm cmFtZXdvcmtfZmFpbHVyZV8KIExDX0FMTD0kTE9DQUxFX0pBIHZhbGdyaW5kIC0tcXVpZXQgLS1l cnJvci1leGl0Y29kZT0xIFwKLSAgc2VkIC1lICdzL2EvYlxVXHhiMmMvJyBpbiA+IG91dCAyPiBl cnIgfHwgZmFpbD0xCisgIHNlZCAncy9hL2JcVVx4YjJjLycgaW4gPiBvdXQgMj4gZXJyIHx8IGZh aWw9MQoKICMgV29yayBhcm91bmQgYSBidWcgaW4gQ2VudE9TIDUuMTAncyB2YWxncmluZAogIyBG SVhNRTogcmVtb3ZlIGluIDIwMTggb3Igd2hlbiBDZW50T1MgNSBpcyBubyBsb25nZXIgb2ZmaWNp YWxseSBzdXBwb3J0ZWQKLS0gCjIuNi4yCgo= --047d7bdc1234b1cc690527ef0dbd-- From unknown Thu Sep 11 14:10:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#22254: [PATCH] sed: do not elide an invalid byte in a substitution RHS Resent-From: Jim Meyering Original-Sender: "Debbugs-submit" Resent-CC: bug-sed@gnu.org Resent-Date: Mon, 28 Dec 2015 06:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22254 X-GNU-PR-Package: sed X-GNU-PR-Keywords: patch To: 22254@debbugs.gnu.org Received: via spool by 22254-submit@debbugs.gnu.org id=B22254.145128388112551 (code B ref 22254); Mon, 28 Dec 2015 06:25:01 +0000 Received: (at 22254) by debbugs.gnu.org; 28 Dec 2015 06:24:41 +0000 Received: from localhost ([127.0.0.1]:45266 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDREX-0003GN-GM for submit@debbugs.gnu.org; Mon, 28 Dec 2015 01:24:41 -0500 Received: from mail-ig0-f175.google.com ([209.85.213.175]:35361) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDREV-0003GA-8v for 22254@debbugs.gnu.org; Mon, 28 Dec 2015 01:24:39 -0500 Received: by mail-ig0-f175.google.com with SMTP id to4so139530320igc.0 for <22254@debbugs.gnu.org>; Sun, 27 Dec 2015 22:24:39 -0800 (PST) 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:content-type; bh=5nwu+zA6W6EZrzfSSjggSkH16acIywXK+yA16v6yW7I=; b=k6IYCvUFHSDP7D+is3UifWpGJr4qcyZrEL3wkPGL4/Neb1J4s6PhQDBYudpYlRaSFR HpceGy8PfrtK3dEhrrVDC6aEIZ5rYTmYZSDXelItS1fDxKjWGFoB18d+JMCZQRl6HxQz WVthf8XsiYe4+XLyA73GUw38nqyzw2Af5QJtDTD1BdAirOSMoVUUFJ0G80peGTSvTmjH inWMTbc8wAIxQsjEqkvP/+jsnhWfyWUtQI+YgTiAYHVhTLZdKNXdjyML6Q13SbWGBqxj rNbpShrXj3piVqEU/cqjXWa9mrD0r++VppSb9qTuTi6achg6MoGCHeF0wl1T/I5OTDLi eUAA== X-Received: by 10.50.64.178 with SMTP id p18mr48737777igs.42.1451283873525; Sun, 27 Dec 2015 22:24:33 -0800 (PST) MIME-Version: 1.0 Received: by 10.36.10.18 with HTTP; Sun, 27 Dec 2015 22:24:13 -0800 (PST) In-Reply-To: References: From: Jim Meyering Date: Sun, 27 Dec 2015 22:24:13 -0800 X-Google-Sender-Auth: QoBAQqJDHge0QdIdJgCre4w7YTE Message-ID: Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.4 (/) 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.4 (/) On Sun, Dec 27, 2015 at 10:02 PM, Jim Meyering wrote: > Just after pushing the fix for that heap-clobbering bug, > http://debbugs.gnu.org/22127, I noticed there was another minor > problem: sed would silently elide any invalid byte specified in a > substitution replacement string. > > Here's a patch that's not quite complete (no NEWS entry, and I haven't > yet tried to determine when it was introduced). This one has a checkered past. I keep a decent sampling of old versions of sed around. Running one of the two tests that would be affected shows how treatment of an invalid byte in a multi-byte locale has differed over the years: $ for i in $(env ls -dv /p/p/sed-*); do printf '%-14s: ' $i; echo a |LC_ALL=ja_JP $i/bin/sed 's/a/b\U\xb2c/'|od -tx1|head -1; done|sed s/.....// sed-1.18 : 0000000 62 55 78 62 32 63 0a sed-2.05 : 0000000 62 55 78 62 32 63 0a sed-3.01 : 0000000 62 55 78 62 32 63 0a sed-3.02 : 0000000 62 55 78 62 32 63 0a sed-4.0a : 0000000 62 00 43 0a sed-4.0b : 0000000 62 00 43 0a sed-4.0c : 0000000 62 00 43 0a sed-4.0d : 0000000 62 00 43 0a sed-4.0e : 0000000 62 00 43 0a sed-4.0.6: 0000000 62 b2 43 0a sed-4.0.7: 0000000 62 b2 43 0a sed-4.0.8: 0000000 62 b2 43 0a sed-4.0.9: 0000000 62 b2 43 0a sed-4.1 : 0000000 62 00 43 0a sed-4.1c : 0000000 62 00 43 0a sed-4.1d : 0000000 62 00 43 0a sed-4.1e : 0000000 62 00 43 0a sed-4.1f : 0000000 62 00 43 0a sed-4.1.1: 0000000 62 00 43 0a sed-4.1.2: 0000000 62 00 43 0a sed-4.1.3: 0000000 62 00 43 0a sed-4.1.4: 0000000 62 00 43 0a sed-4.1.5: 0000000 62 00 43 0a sed-4.2 : 0000000 62 00 43 0a sed-4.2.1: 0000000 62 00 43 0a sed-4.2.2: 0000000 62 00 43 0a Now, it does what 4.0.6..4.0.9 did. From unknown Thu Sep 11 14:10:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#22254: [PATCH] sed: do not elide an invalid byte in a substitution RHS Resent-From: Jim Meyering Original-Sender: "Debbugs-submit" Resent-CC: bug-sed@gnu.org Resent-Date: Mon, 28 Dec 2015 06:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22254 X-GNU-PR-Package: sed X-GNU-PR-Keywords: patch To: 22254@debbugs.gnu.org Received: via spool by 22254-submit@debbugs.gnu.org id=B22254.145128500114450 (code B ref 22254); Mon, 28 Dec 2015 06:44:01 +0000 Received: (at 22254) by debbugs.gnu.org; 28 Dec 2015 06:43:21 +0000 Received: from localhost ([127.0.0.1]:45272 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDRWb-0003kz-2r for submit@debbugs.gnu.org; Mon, 28 Dec 2015 01:43:21 -0500 Received: from mail-io0-f179.google.com ([209.85.223.179]:34669) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDRWY-0003km-SE for 22254@debbugs.gnu.org; Mon, 28 Dec 2015 01:43:19 -0500 Received: by mail-io0-f179.google.com with SMTP id e126so298094690ioa.1 for <22254@debbugs.gnu.org>; Sun, 27 Dec 2015 22:43:18 -0800 (PST) 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:content-type; bh=OK0vdM0lTHmVraQEDLP58ekcFtEuR1l0Epu4OPj12ZY=; b=ycP5bgYk8bUyPPCRYKPeS7qQJ+4kBLpMvDD57h4eEkqT4x9kIr5sRZiptiFHCp7BUz tIByotrjczJDDgT8obbJyTJoySH6dRtKagpkXyUgzUf1K2Wpt57Y2VPVbQP51jngeeuF UHqCrrPlfkPfpMnz+y8dpSxT2ENIwvqPow1jo9M1H8gk5ByNqvitaLIFElN+cAuD2Y21 XOB8j/riN3UuFDsnTYpWMKzKYCAag6WglMluHnbKJaOl3m6c3u7HAlqnghleSF4uO/RS lC4KngC9BAZoEvJi8NugcNBWw5MxRKSkUowCoEGPF89EcZYpzR72uBFPxGPN/2D704lX NYvQ== X-Received: by 10.107.27.6 with SMTP id b6mr51590605iob.163.1451284993015; Sun, 27 Dec 2015 22:43:13 -0800 (PST) MIME-Version: 1.0 Received: by 10.36.10.18 with HTTP; Sun, 27 Dec 2015 22:42:53 -0800 (PST) In-Reply-To: References: From: Jim Meyering Date: Sun, 27 Dec 2015 22:42:53 -0800 X-Google-Sender-Auth: k1X8fjqyPFsf7LQ8g-QbJXb58E4 Message-ID: Content-Type: multipart/mixed; boundary=001a113fee447a450d0527ef9ead X-Spam-Score: -0.4 (/) 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.4 (/) --001a113fee447a450d0527ef9ead Content-Type: text/plain; charset=UTF-8 On Sun, Dec 27, 2015 at 10:24 PM, Jim Meyering wrote: > On Sun, Dec 27, 2015 at 10:02 PM, Jim Meyering wrote: >> Just after pushing the fix for that heap-clobbering bug, >> http://debbugs.gnu.org/22127, I noticed there was another minor >> problem: sed would silently elide any invalid byte specified in a >> substitution replacement string. >> >> Here's a patch that's not quite complete (no NEWS entry, and I haven't >> yet tried to determine when it was introduced). > > This one has a checkered past. I keep a decent sampling of old > versions of sed around. > Running one of the two tests that would be affected shows how > treatment of an invalid byte in a multi-byte locale has differed over > the years: > > $ for i in $(env ls -dv /p/p/sed-*); do printf '%-14s: ' $i; echo a > |LC_ALL=ja_JP $i/bin/sed 's/a/b\U\xb2c/'|od -tx1|head -1; done|sed > s/.....// > sed-1.18 : 0000000 62 55 78 62 32 63 0a > sed-2.05 : 0000000 62 55 78 62 32 63 0a > sed-3.01 : 0000000 62 55 78 62 32 63 0a > sed-3.02 : 0000000 62 55 78 62 32 63 0a > sed-4.0a : 0000000 62 00 43 0a > sed-4.0b : 0000000 62 00 43 0a > sed-4.0c : 0000000 62 00 43 0a > sed-4.0d : 0000000 62 00 43 0a > sed-4.0e : 0000000 62 00 43 0a > sed-4.0.6: 0000000 62 b2 43 0a > sed-4.0.7: 0000000 62 b2 43 0a > sed-4.0.8: 0000000 62 b2 43 0a > sed-4.0.9: 0000000 62 b2 43 0a > sed-4.1 : 0000000 62 00 43 0a > sed-4.1c : 0000000 62 00 43 0a > sed-4.1d : 0000000 62 00 43 0a > sed-4.1e : 0000000 62 00 43 0a > sed-4.1f : 0000000 62 00 43 0a > sed-4.1.1: 0000000 62 00 43 0a > sed-4.1.2: 0000000 62 00 43 0a > sed-4.1.3: 0000000 62 00 43 0a > sed-4.1.4: 0000000 62 00 43 0a > sed-4.1.5: 0000000 62 00 43 0a > sed-4.2 : 0000000 62 00 43 0a > sed-4.2.1: 0000000 62 00 43 0a > sed-4.2.2: 0000000 62 00 43 0a > > Now, it does what 4.0.6..4.0.9 did. Here's a complete patch: --001a113fee447a450d0527ef9ead Content-Type: text/x-patch; charset=US-ASCII; name="0001-sed-do-not-elide-an-invalid-byte-in-a-substitution-R.patch" Content-Disposition: attachment; filename="0001-sed-do-not-elide-an-invalid-byte-in-a-substitution-R.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iipllg9e0 RnJvbSA5ZGQ1NjNjODk3ZWJhN2JlYmYxNTBmMmVmNmIwZGIzZTcyYjdkN2EyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQGZiLmNvbT4KRGF0ZTog U3VuLCAyNyBEZWMgMjAxNSAyMTo1NjowNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIHNlZDogZG8g bm90IGVsaWRlIGFuIGludmFsaWQgYnl0ZSBpbiBhIHN1YnN0aXR1dGlvbiBSSFMKCk5vdywgc2Vk IGNvcGllcyBzdWNoIGJ5dGVzIGludG8gdGhlIG91dHB1dC4KKiBzZWQvZXhlY3V0ZS5jIChzdHJf YXBwZW5kX21vZGlmaWVkKTogQ29weSBlYWNoIGludmFsaWQgYnl0ZQppbnRvIHRoZSByZXN1bHQg c3RyaW5nLCBhcyB0aGUgY29tbWVudCBzdWdnZXN0cy4KKiB0ZXN0c3VpdGUvaW52YWxpZC1tYi1z ZXEtVU1SLnNoOiBBZGp1c3QgdGhpcyB0ZXN0IHRvIGNvbmZvcm0uClBlcmwgZG9lcyB0aGUgc2Ft ZSB0aGluZy4gIEFsc28sIHJlbW92ZSBhbiB1bm5lY2Vzc2FyeSAiLWUiIG9wdGlvbi4KKiBORVdT IChCdWcgZml4ZXMpOiBNZW50aW9uIGl0LgpCdWcgaW50cm9kdWNlZCBwcmlvciB0byB0aGUgc3dp dGNoIHRvIGdpdCBpbiAyMDA0LApiZXR3ZWVuIHRoZSByZWxlYXNlcyBvZiBzZWQtNC4wLjkgYW5k IHNlZC00LjEuClRoaXMgYWRkcmVzc2VzIGh0dHA6Ly9kZWJidWdzLmdudS5vcmcvMjIyNTQuCi0t LQogTkVXUyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQgKysrKwogc2VkL2V4ZWN1dGUu YyAgICAgICAgICAgICAgICAgICB8IDEgKwogdGVzdHN1aXRlL2ludmFsaWQtbWItc2VxLVVNUi5z aCB8IDQgKystLQogMyBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MKaW5kZXggYmMyZjk2Zi4uN2I1YzZmOSAxMDA2 NDQKLS0tIGEvTkVXUworKysgYi9ORVdTCkBAIC00NSw2ICs0NSwxMCBAQCBHTlUgc2VkIE5FV1Mg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gb3V0bGluZSAtKi0KICAgc2Vk IC0tZm9sbG93LXN5bWxpbmtzIG5vdyB3b3JrcyBhZ2FpbiBmb3Igc3RkaW4uCiAgIFtidWcgaW50 cm9kdWNlZCBpbiBzZWQtNC4yLjJdCgorICBzZWQgbm8gbG9uZ2VyIGVsaWRlcyBpbnZhbGlkIGJ5 dGVzIGluIGEgc3Vic3RpdHV0aW9uIFJIUy4KKyAgTm93LCBzZWQgY29waWVzIHN1Y2ggYnl0ZXMg aW50byB0aGUgb3V0cHV0LCBqdXN0IGFzIFBlcmwgZG9lcy4KKyAgW2J1ZyBpbnRyb2R1Y2VkIGlu IHNlZC00LjEgLS0gaXQgd2FzIGFsc28gcHJlc2VudCBwcmlvciB0byA0LjAuNl0KKwogKiogRmVh dHVyZSByZW1vdmFsCgogICBUaGUgIkwiIGNvbW1hbmQgKGZvcm1hdCBhIHBhcmFncmFwaCBsaWtl IHRoZSBmbXQoMSkgY29tbWFuZCB3b3VsZCkKZGlmZiAtLWdpdCBhL3NlZC9leGVjdXRlLmMgYi9z ZWQvZXhlY3V0ZS5jCmluZGV4IDViZWJmYzIuLjkzYjU2NTAgMTAwNjQ0Ci0tLSBhL3NlZC9leGVj dXRlLmMKKysrIGIvc2VkL2V4ZWN1dGUuYwpAQCAtMjI1LDYgKzIyNSw3IEBAIHN0cl9hcHBlbmRf bW9kaWZpZWQoc3RydWN0IGxpbmUgKnRvLCBjb25zdCBjaGFyICpzdHJpbmcsIHNpemVfdCBsZW5n dGgsCiAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KCisgICAgICAgICAgc3Ry X2FwcGVuZCAodG8sIHN0cmluZywgMSk7CiAgICAgICAgICAgbWVtc2V0ICgmdG8tPm1ic3RhdGUs IDAsIHNpemVvZiAoZnJvbV9zdGF0KSk7CiAgICAgICAgICAgbiA9IDE7CiAgICAgICAgICAgc3Ry aW5nICs9IG4sIGxlbmd0aCAtPSBuOwpkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL2ludmFsaWQtbWIt c2VxLVVNUi5zaCBiL3Rlc3RzdWl0ZS9pbnZhbGlkLW1iLXNlcS1VTVIuc2gKaW5kZXggZjYzMWUy NC4uMGMxN2I5YSAxMDA3NTUKLS0tIGEvdGVzdHN1aXRlL2ludmFsaWQtbWItc2VxLVVNUi5zaAor KysgYi90ZXN0c3VpdGUvaW52YWxpZC1tYi1zZXEtVU1SLnNoCkBAIC0yNCw5ICsyNCw5IEBAIHJl cXVpcmVfdmFsZ3JpbmRfCiB0ZXN0ICIkTE9DQUxFX0pBIiA9IG5vbmUgJiYgc2tpcF8gZm91bmQg bm8gSmFwYW5lc2UgRVVDIGxvY2FsZQoKIGVjaG8gYSA+IGluIHx8IGZyYW1ld29ya19mYWlsdXJl XwotZWNobyBiQyA+IGV4cCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KK3ByaW50ZiAnYlwyNjJDXG4n ID4gZXhwIHx8IGZyYW1ld29ya19mYWlsdXJlXwogTENfQUxMPSRMT0NBTEVfSkEgdmFsZ3JpbmQg LS1xdWlldCAtLWVycm9yLWV4aXRjb2RlPTEgXAotICBzZWQgLWUgJ3MvYS9iXFVceGIyYy8nIGlu ID4gb3V0IDI+IGVyciB8fCBmYWlsPTEKKyAgc2VkICdzL2EvYlxVXHhiMmMvJyBpbiA+IG91dCAy PiBlcnIgfHwgZmFpbD0xCgogIyBXb3JrIGFyb3VuZCBhIGJ1ZyBpbiBDZW50T1MgNS4xMCdzIHZh bGdyaW5kCiAjIEZJWE1FOiByZW1vdmUgaW4gMjAxOCBvciB3aGVuIENlbnRPUyA1IGlzIG5vIGxv bmdlciBvZmZpY2lhbGx5IHN1cHBvcnRlZAotLSAKMi42LjIKCg== --001a113fee447a450d0527ef9ead-- From unknown Thu Sep 11 14:10:14 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: Jim Meyering Subject: bug#22254: closed (Re: bug#22254: [PATCH] sed: do not elide an invalid byte in a substitution RHS) Message-ID: References: X-Gnu-PR-Message: they-closed 22254 X-Gnu-PR-Package: sed X-Gnu-PR-Keywords: patch Reply-To: 22254@debbugs.gnu.org Date: Tue, 29 Dec 2015 06:19:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1451369942-26556-1" This is a multi-part message in MIME format... ------------=_1451369942-26556-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #22254: [PATCH] sed: do not elide an invalid byte in a substitution RHS which was filed against the sed package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 22254@debbugs.gnu.org. --=20 22254: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D22254 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1451369942-26556-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 22254-done) by debbugs.gnu.org; 29 Dec 2015 06:18:49 +0000 Received: from localhost ([127.0.0.1]:47261 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDncP-0006tq-6W for submit@debbugs.gnu.org; Tue, 29 Dec 2015 01:18:49 -0500 Received: from mail-io0-f171.google.com ([209.85.223.171]:33176) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDncN-0006tY-O3 for 22254-done@debbugs.gnu.org; Tue, 29 Dec 2015 01:18:48 -0500 Received: by mail-io0-f171.google.com with SMTP id q21so37614260iod.0 for <22254-done@debbugs.gnu.org>; Mon, 28 Dec 2015 22:18:47 -0800 (PST) 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:content-type; bh=iDzLAVoKMYVBaLg6IciIpXK4qsxfcRxFZkFd7AI7E7E=; b=iQay7AiwN58pkYIQSt5ZrByS92rCWR50o+Us93w+RJDMjUSgHiATefPrsC/IfnJ8X5 gx02/IQlmFFF8BVsj1oHws9izxVXNJNK1biJ35NyJDRwuLbOWSgnMFyBqjGEwAj9qWGI DdWSFKxy531V1UzGU1xEFmYKmY7xuDBv/YwXj8LATog5d4Rg0t2I5yp2jLa5c26E9NCu nRDKji636VAko6pW4CLqyNudsnsZFgOgc3+HYp+50e3EfDmzITK7+Y4xiQOAjCJNtD3j Czc2/vG7ejmGM3jGtu0XaT8atJAhCN73Hd6HTrHR5udr/pC1YgDjvXAdpV5Z9JgulwDV 9lhw== X-Received: by 10.107.27.6 with SMTP id b6mr56527304iob.163.1451369922240; Mon, 28 Dec 2015 22:18:42 -0800 (PST) MIME-Version: 1.0 Received: by 10.36.10.18 with HTTP; Mon, 28 Dec 2015 22:18:22 -0800 (PST) In-Reply-To: References: From: Jim Meyering Date: Mon, 28 Dec 2015 22:18:22 -0800 X-Google-Sender-Auth: G_BeGl9fYYdhXI4vgPrZqnKu72c Message-ID: Subject: Re: bug#22254: [PATCH] sed: do not elide an invalid byte in a substitution RHS To: 22254-done@debbugs.gnu.org Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 22254-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: -0.4 (/) On Sun, Dec 27, 2015 at 10:42 PM, Jim Meyering wrote: > On Sun, Dec 27, 2015 at 10:24 PM, Jim Meyering wrote: >> On Sun, Dec 27, 2015 at 10:02 PM, Jim Meyering wrote: >>> Just after pushing the fix for that heap-clobbering bug, >>> http://debbugs.gnu.org/22127, I noticed there was another minor >>> problem: sed would silently elide any invalid byte specified in a >>> substitution replacement string. >>> >>> Here's a patch that's not quite complete (no NEWS entry, and I haven't >>> yet tried to determine when it was introduced). >> >> This one has a checkered past. I keep a decent sampling of old >> versions of sed around. >> Running one of the two tests that would be affected shows how >> treatment of an invalid byte in a multi-byte locale has differed over >> the years: >> >> $ for i in $(env ls -dv /p/p/sed-*); do printf '%-14s: ' $i; echo a >> |LC_ALL=ja_JP $i/bin/sed 's/a/b\U\xb2c/'|od -tx1|head -1; done|sed >> s/.....// >> sed-1.18 : 0000000 62 55 78 62 32 63 0a >> sed-2.05 : 0000000 62 55 78 62 32 63 0a >> sed-3.01 : 0000000 62 55 78 62 32 63 0a >> sed-3.02 : 0000000 62 55 78 62 32 63 0a >> sed-4.0a : 0000000 62 00 43 0a ... >> sed-4.0e : 0000000 62 00 43 0a >> sed-4.0.6: 0000000 62 b2 43 0a >> sed-4.0.7: 0000000 62 b2 43 0a >> sed-4.0.8: 0000000 62 b2 43 0a >> sed-4.0.9: 0000000 62 b2 43 0a >> sed-4.1 : 0000000 62 00 43 0a ... >> sed-4.2.2: 0000000 62 00 43 0a >> >> Now, it does what 4.0.6..4.0.9 did. > > Here's a complete patch: Pushed. ------------=_1451369942-26556-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 28 Dec 2015 06:03:36 +0000 Received: from localhost ([127.0.0.1]:45259 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDQu7-0002gv-KB for submit@debbugs.gnu.org; Mon, 28 Dec 2015 01:03:35 -0500 Received: from eggs.gnu.org ([208.118.235.92]:44717) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDQu5-0002gj-IU for submit@debbugs.gnu.org; Mon, 28 Dec 2015 01:03:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aDQtw-0001Av-VY for submit@debbugs.gnu.org; Mon, 28 Dec 2015 01:03:28 -0500 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,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:43465) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDQtw-0001Ak-PU for submit@debbugs.gnu.org; Mon, 28 Dec 2015 01:03:24 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35611) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDQtr-0008Hz-Vm for bug-sed@gnu.org; Mon, 28 Dec 2015 01:03:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aDQtJ-00018C-2o for bug-sed@gnu.org; Mon, 28 Dec 2015 01:03:19 -0500 Received: from mail-ig0-x234.google.com ([2607:f8b0:4001:c05::234]:36578) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDQtI-000188-QU for bug-sed@gnu.org; Mon, 28 Dec 2015 01:02:44 -0500 Received: by mail-ig0-x234.google.com with SMTP id ph11so140125744igc.1 for ; Sun, 27 Dec 2015 22:02:44 -0800 (PST) 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:content-type; bh=yzE+gN/4tkEpIsDIzYm3+eIBckUHpoMzDJq2/yT81a4=; b=nt8ZrL+GmhmtfQ8ZyxU/BYAhMbv1avtlzoVdEKtPnKbNWlbDeZ6CDpV/87TBVVw5ie V1GXG/EBoHxulabKNIz4zkjtm0ySJmN7m6QE3fILFQt4nuhgloIx+BJ4vnzPxUk9NqeT ShwdmrLx3XbYzMX44TEKUdONXeIAveoy1athyyKgu6bmeyXn6r7c/PgP9BiK2RLkFXMs lsRCUeCzKbXvEEeQtmxYS+qpKP6n5apK2d06UaEOMjURfMuZpSgMVSNezOrcJX+Fjh00 nD4lBonDdE0PHZuflOzOJz+lMM+gkq25g6Vgk2ph7SLv26sbarrYCkn6wM1fMNJ7K4Qw etwA== X-Received: by 10.50.49.109 with SMTP id t13mr51925007ign.89.1451282563965; Sun, 27 Dec 2015 22:02:43 -0800 (PST) MIME-Version: 1.0 Received: by 10.36.10.18 with HTTP; Sun, 27 Dec 2015 22:02:24 -0800 (PST) From: Jim Meyering Date: Sun, 27 Dec 2015 22:02:24 -0800 X-Google-Sender-Auth: SL3ypL9sv0PwL2O94pdcYqtbAtc Message-ID: Subject: [PATCH] sed: do not elide an invalid byte in a substitution RHS To: bug-sed@gnu.org Content-Type: multipart/mixed; boundary=047d7bdc1234b1cc690527ef0dbd 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: -3.8 (---) 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: -3.8 (---) --047d7bdc1234b1cc690527ef0dbd Content-Type: text/plain; charset=UTF-8 Just after pushing the fix for that heap-clobbering bug, http://debbugs.gnu.org/22127, I noticed there was another minor problem: sed would silently elide any invalid byte specified in a substitution replacement string. Here's a patch that's not quite complete (no NEWS entry, and I haven't yet tried to determine when it was introduced). --047d7bdc1234b1cc690527ef0dbd Content-Type: text/x-patch; charset=US-ASCII; name="0001-sed-do-not-elide-an-invalid-byte-in-a-substitution-R.patch" Content-Disposition: attachment; filename="0001-sed-do-not-elide-an-invalid-byte-in-a-substitution-R.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iipk4scb0 RnJvbSA3NGY2MDgxMzU4YmZkMjcxZjY3OWI4NzYwMDM2Nzk3NTExMWM3NDM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQGZiLmNvbT4KRGF0ZTog U3VuLCAyNyBEZWMgMjAxNSAyMTo1NjowNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIHNlZDogZG8g bm90IGVsaWRlIGFuIGludmFsaWQgYnl0ZSBpbiBhIHN1YnN0aXR1dGlvbiBSSFMKCk5vdywgc2Vk IGNvcGllcyBzdWNoIGJ5dGVzIGludG8gdGhlIG91dHB1dC4KKiBzZWQvZXhlY3V0ZS5jIChzdHJf YXBwZW5kX21vZGlmaWVkKTogQ29weSBlYWNoIGludmFsaWQgYnl0ZQppbnRvIHRoZSByZXN1bHQg c3RyaW5nLCBhcyB0aGUgY29tbWVudCBzdWdnZXN0cy4KKiB0ZXN0c3VpdGUvaW52YWxpZC1tYi1z ZXEtVU1SLnNoOiBBZGp1c3QgdGhpcyB0ZXN0IHRvIGNvbmZvcm0uClBlcmwgZG9lcyB0aGUgc2Ft ZSB0aGluZy4gIEFsc28sIHJlbW92ZSBhbiB1bm5lY2Vzc2FyeSAiLWUiIG9wdGlvbi4KLS0tCiBz ZWQvZXhlY3V0ZS5jICAgICAgICAgICAgICAgICAgIHwgMSArCiB0ZXN0c3VpdGUvaW52YWxpZC1t Yi1zZXEtVU1SLnNoIHwgNCArKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zZWQvZXhlY3V0ZS5jIGIvc2VkL2V4ZWN1dGUu YwppbmRleCA1YmViZmMyLi45M2I1NjUwIDEwMDY0NAotLS0gYS9zZWQvZXhlY3V0ZS5jCisrKyBi L3NlZC9leGVjdXRlLmMKQEAgLTIyNSw2ICsyMjUsNyBAQCBzdHJfYXBwZW5kX21vZGlmaWVkKHN0 cnVjdCBsaW5lICp0bywgY29uc3QgY2hhciAqc3RyaW5nLCBzaXplX3QgbGVuZ3RoLAogICAgICAg ICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CgorICAgICAgICAgIHN0cl9hcHBlbmQgKHRv LCBzdHJpbmcsIDEpOwogICAgICAgICAgIG1lbXNldCAoJnRvLT5tYnN0YXRlLCAwLCBzaXplb2Yg KGZyb21fc3RhdCkpOwogICAgICAgICAgIG4gPSAxOwogICAgICAgICAgIHN0cmluZyArPSBuLCBs ZW5ndGggLT0gbjsKZGlmZiAtLWdpdCBhL3Rlc3RzdWl0ZS9pbnZhbGlkLW1iLXNlcS1VTVIuc2gg Yi90ZXN0c3VpdGUvaW52YWxpZC1tYi1zZXEtVU1SLnNoCmluZGV4IGY2MzFlMjQuLjBjMTdiOWEg MTAwNzU1Ci0tLSBhL3Rlc3RzdWl0ZS9pbnZhbGlkLW1iLXNlcS1VTVIuc2gKKysrIGIvdGVzdHN1 aXRlL2ludmFsaWQtbWItc2VxLVVNUi5zaApAQCAtMjQsOSArMjQsOSBAQCByZXF1aXJlX3ZhbGdy aW5kXwogdGVzdCAiJExPQ0FMRV9KQSIgPSBub25lICYmIHNraXBfIGZvdW5kIG5vIEphcGFuZXNl IEVVQyBsb2NhbGUKCiBlY2hvIGEgPiBpbiB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KLWVjaG8gYkMg PiBleHAgfHwgZnJhbWV3b3JrX2ZhaWx1cmVfCitwcmludGYgJ2JcMjYyQ1xuJyA+IGV4cCB8fCBm cmFtZXdvcmtfZmFpbHVyZV8KIExDX0FMTD0kTE9DQUxFX0pBIHZhbGdyaW5kIC0tcXVpZXQgLS1l cnJvci1leGl0Y29kZT0xIFwKLSAgc2VkIC1lICdzL2EvYlxVXHhiMmMvJyBpbiA+IG91dCAyPiBl cnIgfHwgZmFpbD0xCisgIHNlZCAncy9hL2JcVVx4YjJjLycgaW4gPiBvdXQgMj4gZXJyIHx8IGZh aWw9MQoKICMgV29yayBhcm91bmQgYSBidWcgaW4gQ2VudE9TIDUuMTAncyB2YWxncmluZAogIyBG SVhNRTogcmVtb3ZlIGluIDIwMTggb3Igd2hlbiBDZW50T1MgNSBpcyBubyBsb25nZXIgb2ZmaWNp YWxseSBzdXBwb3J0ZWQKLS0gCjIuNi4yCgo= --047d7bdc1234b1cc690527ef0dbd-- ------------=_1451369942-26556-1--