| delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
| :list-unsubscribe:list-subscribe:list-archive:list-post | |
| :list-help:sender:from:to:subject:date:message-id:mime-version | |
| :content-type; q=dns; s=default; b=XvFDdl9nioRmU1MgEbB19DGiEXTwD | |
| pjGEtNfzq6eH7IdSHbTWGUxcvycc8EexI/Fm9ZDCfc0DnMYOjL1VR+CEKact0MQJ | |
| yMlmC+Ed+CLBdVr//dvC4MwBopzff6888s3+AbZTeA4UcWZzyL+FMHy5GGguaClT | |
| JSrLzPkQc7DOKs= | |
| DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
| :list-unsubscribe:list-subscribe:list-archive:list-post | |
| :list-help:sender:from:to:subject:date:message-id:mime-version | |
| :content-type; s=default; bh=SqB/XSREqsv9GD2OuNNE78CqCfE=; b=qNT | |
| lw8apspQfznGFYqJF8m9eSPdsrg8/oD5Itn23oyQWdFvnNaIDx+ES0Oa6IBJzSgr | |
| JPC4f6iHWGvUyTC/9IlLdjPBHHiwMEhlaent80js5NWX3oms13bkFLIJ67FV7UeV | |
| FQ3wxnvkeiTgZNLjhivdF9zEUwF3iKbJBASDWD58= | |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Id: | <cygwin.cygwin.com> |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
| Authentication-Results: | sourceware.org; auth=none |
| X-Virus-Found: | No |
| X-Spam-SWARE-Status: | No, score=-6.4 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,SPF_PASS autolearn=ham version=3.3.2 spammy= |
| X-HELO: | us-smtp-1.mimecast.com |
| From: | Ken Harris <Ken DOT Harris AT mathworks DOT com> |
| To: | "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com> |
| Subject: | Re: winsup\cygwin\path.cc issues |
| Date: | Fri, 4 May 2018 01:23:47 +0000 |
| Message-ID: | <DM2PR0501MB1358382033C52CD40E92634F8A860@DM2PR0501MB1358.namprd05.prod.outlook.com> |
| x-ms-publictraffictype: | |
| x-microsoft-exchange-diagnostics: | 1;DM2PR0501MB1310;7:684ese1aC4XG8pscpV3v/n67QW//qySXLeUVuGVwuxen4NaJh7IWNAxWB2EYLreT4/fYZodixqNs7Lx+JzlPjVWS2RIh0Aok8hcLLnv12+qDSf+SLdPKxIgpekJ73q3a745+Uvy5rEfh7VMaA2yBfWuikiVsOdmq10cPIwSlEHMOr9M49dHE+vKlOxkTJtn1Q5hGLYkhi+rIkPSmQZtOQxdYxT6pARWwmEVjPYXEQVtzx5OFt/WacvArwMxYBy3x |
| x-ms-exchange-antispam-srfa-diagnostics: | SOS; |
| x-microsoft-antispam: | UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(49563074)(7193020);SRVR:DM2PR0501MB1310; |
| x-ms-traffictypediagnostic: | DM2PR0501MB1310: |
| x-microsoft-antispam-prvs: | <DM2PR0501MB13107384019EEE1E43447B628A860 AT DM2PR0501MB1310 DOT namprd05 DOT prod DOT outlook DOT com> |
| x-exchange-antispam-report-test: | UriScan:; |
| x-exchange-antispam-report-cfa-test: | BCL:0;PCL:0;RULEID:(102415395)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231254)(944501410)(52105095)(6041310)(20161123560045)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011);SRVR:DM2PR0501MB1310;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0501MB1310; |
| x-forefront-prvs: | 06628F7CA4 |
| x-forefront-antispam-report: | SFV:NSPM;SFS:(10009020)(39380400002)(366004)(39860400002)(346002)(376002)(396003)(199004)(189003)(43234003)(5660300001)(74316002)(5890100001)(55016002)(486006)(2900100001)(72206003)(7696005)(53936002)(97736004)(3280700002)(6116002)(305945005)(99286004)(14454004)(476003)(3660700001)(3846002)(2501003)(6916009)(1730700003)(66066001)(6436002)(25786009)(7736002)(86362001)(26005)(2906002)(8676002)(2351001)(106356001)(81166006)(316002)(229853002)(81156014)(68736007)(105586002)(6246003)(6506007)(59450400001)(99936001)(9686003)(33656002)(8936002)(102836004)(186003)(5250100002)(478600001)(5640700003)(53546011)(460985005);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR0501MB1310;H:DM2PR0501MB1358.namprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; |
| x-microsoft-antispam-message-info: | KnD54Wocnww2PMS5Z/46l8YKPFytJAiCd8swlQjRebCY+z7Vi5vQfjxh4p4uuu0kdAheNJbnp/8HoFDkZLDCodct9OaJHJOgE6sTqoOiIcNaRQaP6MGAsWW5kF7scnWWpu/eQECCTpArFjtfccPb+SDB9RwnStpCeCW46SQgbwsrrhqF7W/0nP3bQGH2msFg |
| spamdiagnosticoutput: | 1:99 |
| spamdiagnosticmetadata: | NSPM |
| MIME-Version: | 1.0 |
| X-MS-Office365-Filtering-Correlation-Id: | 45046162-02fe-4cd6-6d0b-08d5b15daf72 |
| X-OriginatorOrg: | mathworks.com |
| X-MS-Exchange-CrossTenant-Network-Message-Id: | 45046162-02fe-4cd6-6d0b-08d5b15daf72 |
| X-MS-Exchange-CrossTenant-originalarrivaltime: | 04 May 2018 01:23:47.5286 (UTC) |
| X-MS-Exchange-CrossTenant-fromentityheader: | Hosted |
| X-MS-Exchange-CrossTenant-id: | 99dd3a11-4348-4468-9bdd-e5072b1dc1e6 |
| X-MS-Exchange-Transport-CrossTenantHeadersStamped: | DM2PR0501MB1310 |
| X-MC-Unique: | LY9mTpRAOFmRUbuaKxvzhw-1 |
--_002_DM2PR0501MB1358382033C52CD40E92634F8A860DM2PR0501MB1358_
Content-Type: text/plain; charset=WINDOWS-1252
Content-Transfer-Encoding: quoted-printable
Hi Marco:
Sorry for not replying to the original exchange we had. I w=
asn't subscribed to the list but now I am so it won't happen again (so I'm =
quoting our exchange below).
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
I installed and built cygwin1.dll with an added assert in p=
ath.cc to identify when the buffer underrun condition I originally describe=
d occurs:
$ diff -b ./cygwin-2.10.0-1.src/newlib-cygwin/winsup/cygwin/path.cc.ORIG ./=
cygwin-2.10.0-1.src/newlib-cygwin/winsup/cygwin/path.cc
2803c2803
< ;
---
> assert(p >=3D path);
Thus, a simple:
cat '\A../../../B'
will result in the assert firing:
kharris AT ah-kharris /usr/src
$ cat '\A../../../B'
assertion "p >=3D path" failed: file "../../.././winsup/cygwin/path.cc", li=
ne 2803, function: int symlink_info::check(char*, const suffix_info*, fs_in=
fo&, path_conv_handle&)
Aborted (core dumped)
Attached is a patch (in addition to the added assert) with what I *think* m=
ight really fix the problem. This was where the expected backslash got squa=
shed which allowed symlink_info::check() to go "negative" with its 'p' poin=
ter and look for a backslash in someone else's memory.
I've applied this "correction" in our MSYS2 code. I hope t=
o get some flight-time with it soon (long duration, automated processing) =
and if it causes unexpected problems, I'll report back on that. Otherwise, =
I just hope it might be helpful to anyone who might run into similar puzzli=
ng circumstances (the puzzle is when the errant 'p' pointer _doesn't_ find =
a stray backslash in someone else's memory. It segv-s and _that_ was the na=
sty part of the puzzle).
Thanks,
-Ken
On 5/2/2018 3:49 PM, Ken Harris wrote:
Hi:
While originally investigating a sporadic failure in M=
SYS2, I believe I found that its origin may actually be within Cygwin.
Given the following command sequence on cygwin64 in a =
CMD.EXE command prompt (on Windows 10 x64 if it matters).
cd C:\Cygwin64\bin
echo.exe running \"test\" logging to ../../../my.log
Not clear to me what is the exact command line to replicate
In addition "C:\Cygwin64\bin" is "/bin" so where do you expect
/bin/../../../my.log to be ?
Regards
Marco
--_002_DM2PR0501MB1358382033C52CD40E92634F8A860DM2PR0501MB1358_
Content-Type: application/octet-stream; name="path.cc.patch"
Content-Description: path.cc.patch
Content-Disposition: attachment; filename="path.cc.patch"; size=1745;
creation-date="Fri, 04 May 2018 01:22:13 GMT";
modification-date="Fri, 04 May 2018 00:20:54 GMT"
Content-Transfer-Encoding: base64
LS0tIC4vY3lnd2luLTIuMTAuMC0xLnNyYy9uZXdsaWItY3lnd2luL3dpbnN1
cC9jeWd3aW4vcGF0aC5jYy5PUklHCTIwMTgtMDUtMDMgMTk6NDM6MDAuNDgy
NDcyMTAwIC0wNDAwCisrKyAuL2N5Z3dpbi0yLjEwLjAtMS5zcmMvbmV3bGli
LWN5Z3dpbi93aW5zdXAvY3lnd2luL3BhdGguY2MJMjAxOC0wNS0wMyAyMDow
OTo0NC4wMzU2MzA3MDAgLTA0MDAKQEAgLTEzNDIsNiArMTM0Miw3IEBACiBp
bnQKIG5vcm1hbGl6ZV93aW4zMl9wYXRoIChjb25zdCBjaGFyICpzcmMsIGNo
YXIgKmRzdCwgY2hhciAqJnRhaWwpCiB7CisgIGludCBkcnZwcmVmaXhsZW4g
PSAwOwogICBjb25zdCBjaGFyICpzcmNfc3RhcnQgPSBzcmM7CiAgIGJvb2wg
YmVnX3NyY19zbGFzaCA9IGlzZGlyc2VwIChzcmNbMF0pOwogCkBAIC0xMzg1
LDkgKzEzODYsMTAgQEAKIAkqdGFpbCsrID0gY3lnX3RvdXBwZXIgKCpzcmMr
Kyk7CiAgICAgICBlbHNlIGlmICgqc3JjICE9ICcvJykKIAl7Ci0JICBpZiAo
YmVnX3NyY19zbGFzaCkKLQkgICAgdGFpbCArPSBjeWdoZWFwLT5jd2QuZ2V0
X2RyaXZlIChkc3QpOwotCSAgZWxzZSBpZiAoIWN5Z2hlYXAtPmN3ZC5nZXQg
KGRzdCwgMCkpCisJICBpZiAoYmVnX3NyY19zbGFzaCkgeworCSAgICBkcnZw
cmVmaXhsZW4gPSBjeWdoZWFwLT5jd2QuZ2V0X2RyaXZlIChkc3QpOworCSAg
ICB0YWlsICs9IGRydnByZWZpeGxlbjsKKwkgIH0gZWxzZSBpZiAoIWN5Z2hl
YXAtPmN3ZC5nZXQgKGRzdCwgMCkpCiAJICAgIHJldHVybiBnZXRfZXJybm8g
KCk7CiAJICBlbHNlCiAJICAgIHsKQEAgLTE0MjMsMTAgKzE0MjUsMTAgQEAK
IAkgIGVsc2UKIAkgICAgewogCSAgICAgIC8qIEJhY2sgdXAgb3ZlciAvLCBi
dXQgbm90IGlmIGl0J3MgdGhlIGZpcnN0IG9uZS4gICovCi0JICAgICAgaWYg
KHRhaWwgPiBkc3QgKyAxKQorCSAgICAgIGlmICh0YWlsID4gZHN0ICsgMSAr
IGRydnByZWZpeGxlbikKIAkJdGFpbC0tOwogCSAgICAgIC8qIE5vdyBiYWNr
IHVwIHRvIHRoZSBuZXh0IC8uICAqLwotCSAgICAgIHdoaWxlICh0YWlsID4g
ZHN0ICsgMSAmJiB0YWlsWy0xXSAhPSAnXFwnICYmIHRhaWxbLTJdICE9ICc6
JykKKwkgICAgICB3aGlsZSAodGFpbCA+IGRzdCArIDEgKyBkcnZwcmVmaXhs
ZW4gJiYgdGFpbFstMV0gIT0gJ1xcJyAmJiB0YWlsWy0yXSAhPSAnOicpCiAJ
CXRhaWwtLTsKIAkgICAgICBzcmMgKz0gMjsKIAkgICAgICAvKiBTa2lwIC8n
cyB0byB0aGUgbmV4dCBwYXRoIGNvbXBvbmVudC4gKi8KQEAgLTE0NDYsNyAr
MTQ0OCw3IEBACiAgICAgICBpZiAoKHRhaWwgLSBkc3QpID49IE5UX01BWF9Q
QVRIKQogCXJldHVybiBFTkFNRVRPT0xPTkc7CiAgICAgfQotICBpZiAodGFp
bCA+IGRzdCArIDEgJiYgdGFpbFstMV0gPT0gJy4nICYmIHRhaWxbLTJdID09
ICdcXCcpCisgIGlmICh0YWlsID4gZHN0ICsgMSArIGRydnByZWZpeGxlbiAm
JiB0YWlsWy0xXSA9PSAnLicgJiYgdGFpbFstMl0gPT0gJ1xcJykKICAgICB0
YWlsLS07CiAgICp0YWlsID0gJ1wwJzsKICAgZGVidWdfcHJpbnRmICgiJXMg
PSBub3JtYWxpemVfd2luMzJfcGF0aCAoJXMpIiwgZHN0LCBzcmNfc3RhcnQp
OwpAQCAtMjgwMCw3ICsyODAyLDcgQEAKIAkgICAgICBpZiAoKnAgIT0gJy4n
ICYmICpwICE9ICcgJykKIAkJewogCQkgIHdoaWxlICgqLS1wICE9ICdcXCcp
Ci0JCSAgICA7CisJCSAgICBhc3NlcnQocCA+PSBwYXRoKTsKIAkJICBpZiAo
KisrcCAhPSAnICcpCiAJCSAgICBwID0gTlVMTDsKIAkJfQo=
--_002_DM2PR0501MB1358382033C52CD40E92634F8A860DM2PR0501MB1358_
Content-Type: text/plain; charset=us-ascii
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
--_002_DM2PR0501MB1358382033C52CD40E92634F8A860DM2PR0501MB1358_--
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |