Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #15436
| Path | csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail |
|---|---|
| From | Chet Ramey <chet.ramey@case.edu> |
| Newsgroups | gnu.bash.bug |
| Subject | Re: Wildcard expansion can fail with nonprinting characters |
| Date | Mon, 30 Sep 2019 15:35:21 -0400 |
| Lines | 44 |
| Approved | bug-bash@gnu.org |
| Message-ID | <mailman.519.1569872136.2651.bug-bash@gnu.org> (permalink) |
| References | <pnih84x47ql.fsf@bow.cs.hmc.edu> <9e9454a8-35db-c426-5388-7426169c4d63@case.edu> |
| Reply-To | chet.ramey@case.edu |
| NNTP-Posting-Host | lists.gnu.org |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 7bit |
| X-Trace | usenet.stanford.edu 1569872137 2972 209.51.188.17 (30 Sep 2019 19:35:37 GMT) |
| X-Complaints-To | action@cs.stanford.edu |
| Cc | chet.ramey@case.edu |
| To | Geoff Kuenning <geoff@cs.hmc.edu>, bug-bash@gnu.org |
| Envelope-to | bug-bash@gnu.org |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1569872124; bh=t4QMOll8s5NYbrtNsqn5L/B3fQ5qsLEb9OnYXW91tJU=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=U/o5ME5fcBZV4DWMh96Vfy0Eczdy453nV0DSSSazxUBwuTsA3evTftKznkRZKXny8h qQB89YtlFA/8xBEOHNp/dwWQvPNOsYUUhPjwiXzowumgIY/40MQkbdQFx3i+Y3N/LGy QTHM4m/XULYCOxJcOEdMpmCVtqvtkXoLlC6PsTSE2eZpfsyrSfdrtdKzh9hHLBeD/Gu mN0BrfrYvz+h6BjoX/BbZTHEdFrjzI/vKlLEsm1qmoCxLau91glKsW6an3/jVw/TEVi RdL58l4ZGTSrKf3JDjuzi0j+NStF4RimZ4PqQx2wNhMcMAYH+IavKt8gjDdi/DUt1ST CbJc1nOg== |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1569872122; bh=qUOqxIQARz/mnN1NZ6eJhgoAN+k2Pq4BbCSH1SVwraU=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=QQVGxpEiYU6QFVM3Z9EkWDVVvwBz8FsGfAeiS65pgrXJv/dig3c78PWZ4pwJRW+Bx9 6KbIW7YMR3aw3oPL00iP+vO9rsJaeCyUXtqZTFjRK+41AHeznzOiE4h4cqVN2aS4M6J dbtyhVTRcxgAdad4FTOGq5DXtO6r/b8t8UOqF6LAm8Ex0TkG4Ce7L5FQOhmkl5uDeFS lPliEq0vlYOCLNquy99l/akOGgpiOZJ5tsmascuaQZJdZgWwScO9/ZWqbsJSEXnREev aQ36VBUMp1JQ7zTGoP1QE8aexhmxXg//gpsIS0XFYmTdveEAS4OUXBhpe3aXOlAqfbm 0ZnBRUBg== |
| Openpgp | preference=signencrypt |
| Autocrypt | addr=chet.ramey@case.edu; prefer-encrypt=mutual; keydata= xsDiBEEOsGwRBACFa0A1oa71HSZLWxAx0svXzhOZNQZOzqHmSuGOG92jIpQpr8DpvgRh40Yp AwdcXb8QG1J5yGAKeevNE1zCFaA725vGSdHUyypHouV0xoWwukYO6qlyyX+2BZU+okBUqoWQ koWxiYaCSfzB2Ln7pmdys1fJhcgBKf3VjWCjd2XJTwCgoFJOwyBFJdugjfwjSoRSwDOIMf0D /iQKqlWhIO1LGpMrGX0il0/x4zj0NAcSwAk7LaPZbN4UPjn5pqGEHBlf1+xDDQCkAoZ/VqES GZragl4VqJfxBr29Ag0UDvNbUbXoxQsARdero1M8GiAIRc50hj7HXFoERwenbNDJL86GPLAQ OTGOCa4W2o29nFfFjQrsrrYHzVtyA/9oyKvTeEMJ7NA3VJdWcmn7gOu0FxEmSNhSoV1T4vP2 1Wf7f5niCCRKQLNyUy0wEApQi4tSysdz+AbgAc0b/bHYVzIf2uO2lIEZQNNt+3g2bmXgloWm W5fsm/di50Gm1l1Na63d3RZ00SeFQos6WEwLUHEB0yp6KXluXLLIZitEJM0gQ2hldCBSYW1l eSA8Y2hldC5yYW1leUBjYXNlLmVkdT7CYQQTEQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIX gAUCRX3FIgIZAQAKCRC7WGnwZOp0q069AKCNDRn+zzN/AHbaynls/Lvq1kH/RQCgkLvF8bDs maUHSxSIPqzlGuKWDxbOwE0EQQ6wbxAEAJCukwDigRDPhAuI+lf+6P64lWanIFOXIndqhvU1 3cDbQ/Wt5LwPzm2QTvd7F+fcHOgZ8KOFScbDpjJaRqwIybMTcIN0B2pBLX/C10W1aY+cUrXZ gXUGVISEMmpaP9v02auToo7XXVEHC+XLO9IU7/xaU98FL69l6/K4xeNSBRM/AAMHA/wNAmRB pcyK0+VggZ5esQaIP/LyolAm2qwcmrd3dZi+g24s7yjV0EUwvRP7xHRDQFgkAo6++QbuecU/ J90lxrVnQwucZmfz9zgWDkT/MpfB/CNRSKLFjhYq2yHmHWT6vEjw9Ry/hF6Pc0oh1a62USdf aKAiim0nVxxQmPmiRvtCmcJJBBgRAgAJBQJBDrBvAhsMAAoJELtYafBk6nSr43AAn2ZZFQg8 Gs/zUzvXMt7evaFqVTzcAJ0cHtKpP1i/4H4R9+OsYeQdxxWxTQ== |
| User-Agent | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 |
| In-Reply-To | <pnih84x47ql.fsf@bow.cs.hmc.edu> |
| Content-Language | en-US |
| X-Junkmail-Status | score=7/90, host=mpv3-2015.case.edu |
| X-Junkmail-PrAS-Raw | score=7/90, refid=2.7.2:2019.9.30.184216:17:7.944, ip=, rules=DKIM_SIGNATURE, __HAS_REPLYTO, __HAS_CC_HDR, __SUBJ_REPLY, __BOUNCE_CHALLENGE_SUBJ, __BOUNCE_NDR_SUBJ_EXEMPT, __SUBJ_ALPHA_END, __TO_MALFORMED_2, __TO_NAME, __TO_NAME_DIFF_FROM_ACC, __HAS_REFERENCES, __REFERENCES, __HAS_FROM, FROM_EDU_TLD, __HAS_MSGID, __SANE_MSGID, DATE_TZ_NA, __USER_AGENT, __MOZILLA_USER_AGENT, __MIME_VERSION, __IN_REP_TO, __CT, __CT_TEXT_PLAIN, __CTE, __REPLYTO_SAMEAS_FROM_ADDY, __REPLYTO_SAMEAS_FROM_ACC, __FROM_DOMAIN_IN_ANY_CC1, __FROM_DOMAIN_IN_ANY_CC2, __REPLYTO_SAMEAS_FROM_DOMAIN, __DKIM_ALIGNS_1, __DKIM_ALIGNS_2, __ANY_URI, __URI_WITH_PATH, URI_ENDS_IN_HTML, __URI_NO_WWW, __CP_URI_IN_BODY, __INVOICE_MULTILINGUAL, __FRAUD_MONEY_CURRENCY_DOLLAR, __SUBJ_ALPHA_NEGATE, __MULTIPLE_URI_TEXT, __URI_IN_BODY, __URI_NOT_IMG, __FORWARDED_MSG, __BODY_NO_MAILTO, __NO_HTML_TAG_RAW, BODY_SIZE_1900_1999, BODYTEXTP_SIZE_3000_LESS, __MIME_TEXT_P1, [TRUNCATED], so=2010-03-03 19:42:08, dmn=2016-08-03-0138 |
| X-detected-operating-system | by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] [fuzzy] |
| X-Received-From | 129.22.103.194 |
| X-BeenThere | bug-bash@gnu.org |
| X-Mailman-Version | 2.1.23 |
| Precedence | list |
| List-Id | Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org> |
| List-Unsubscribe | <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe> |
| List-Archive | <https://lists.gnu.org/archive/html/bug-bash> |
| List-Post | <mailto:bug-bash@gnu.org> |
| List-Help | <mailto:bug-bash-request@gnu.org?subject=help> |
| List-Subscribe | <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe> |
| X-Mailman-Original-Message-ID | <9e9454a8-35db-c426-5388-7426169c4d63@case.edu> |
| X-Mailman-Original-References | <pnih84x47ql.fsf@bow.cs.hmc.edu> |
| Xref | csiph.com gnu.bash.bug:15436 |
Show key headers only | View raw
On 9/27/19 7:52 PM, Geoff Kuenning wrote: > Version: > > GNU bash, version 4.4.23(1)-release (x86_64-suse-linux-gnu) > Copyright (C) 2016 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > > Behavior: > > If a pathname contains nonprinting characters, and is expanded from a > variable name, wildcard expansion can sometimes fail. This is an interesting report. The $'\361' is a unicode combining character, which ends up making the entire sequence of characters an invalid wide character string in a bunch of different locales. Some file systems (Mac OS X APFS) don't allow you to create files with invalid characters or character sequences in their names. Others (Linux) don't have a problem with it. The code to dequote filenames that's needed for "$x" tries to fall back to single-byte character operations in the presence of invalid character or byte sequences, but that means you can't use any of the standard wide character functions to check for valid and invalid wide character strings. The change between bash-4.4 and bash-5.0 is that the globbing code doesn't bother to try and convert to wide characters to do the dequoting if there aren't any valid multibyte characters in the pathname, but uses the single byte character code instead. That works for this case, but doesn't work for pathnames that have both valid and invalid wide character sequences. A better fix is to write a symmetric function that will take the output of xdupmbstowcs2 (bash's replacement for mbstowcs that handles zero-length wide character strings that aren't null wide characters) and handle the invalid wide character strings that may result from it. I'll make that fix for the next release. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/
Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread
Re: Wildcard expansion can fail with nonprinting characters Chet Ramey <chet.ramey@case.edu> - 2019-09-30 15:35 -0400
csiph-web