Date: Fri, 10 Jun 2016 18:01:22 +0300 From: Andrey Chernov <ache@freebsd.org> To: Pedro Giffuni <pfg@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r301777 - head/lib/libc/stdio Message-ID: <6d1d7aaa-eef0-cafc-b11a-3b81ee3fb230@freebsd.org> In-Reply-To: <03897eab-0725-7c7a-0edf-04eb44eff6f7@FreeBSD.org> References: <201606100521.u5A5Lqa6035072@repo.freebsd.org> <3346cab5-d713-c1ad-5e50-ea8d50ee47b9@freebsd.org> <cd74f302-f089-3208-a6ca-89eb7460d41b@FreeBSD.org> <52d3a4b3-0b52-abd3-8633-909885f12781@freebsd.org> <03897eab-0725-7c7a-0edf-04eb44eff6f7@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------D1E3F9F08EFAE110A4449F74 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit On 10.06.2016 17:14, Pedro Giffuni wrote: >> Because now strcoll_l() is used as before and it is broken in wide char >> converting process. It is broken for _all_, not just for vfscanf() >> ranges. It should never fail with any args. >> Real fix should be in strcoll_l(). >> > > Yes, it is broken as before however the objective of r301461 was only > to address the ABI breakage. If I revert r301777 then I have to backout > r301461 too, and then we have again the ABI breakage. > > I understand you want to fix all but we are under code freeze and > I have to go back to a known working (although still broken) state. I can't make strcoll or vfscanf to drop core in my simple tests. Too little info in the bug report. In any case here is vfscanf.c fix attached (by removing collation range). >> It is dependent. vfscanf() and regcomp() use the same code for range >> collation. If we remove range collation from everywhere, we save >> vfscanf(), but strcoll_l() remains broken. >> >> > > We have had a broken regex for a very long time, and we new that > before collation was introduced. I didn't take that decision but > moving to libtre was a lot more work and we really had to have > collation now. No, we have perfectly working single byte regex with collation ranges for many years until those wchars was invaded the code very recently. --------------D1E3F9F08EFAE110A4449F74 Content-Type: text/plain; charset=UTF-8; name="vfscanf.c.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="vfscanf.c.diff" SW5kZXg6IHZmc2NhbmYuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB2ZnNjYW5mLmMJKHJldmlzaW9u IDMwMTc3OSkKKysrIHZmc2NhbmYuYwkod29ya2luZyBjb3B5KQpAQCAtODE2LDkgKzgxNiw3 IEBACiBzdGF0aWMgY29uc3QgdV9jaGFyICoKIF9fc2NjbChjaGFyICp0YWIsIGNvbnN0IHVf Y2hhciAqZm10KQogewotCWludCBjLCBuLCB2LCBpOwotCXN0cnVjdCB4bG9jYWxlX2NvbGxh dGUgKnRhYmxlID0KLQkJKHN0cnVjdCB4bG9jYWxlX2NvbGxhdGUqKV9fZ2V0X2xvY2FsZSgp LT5jb21wb25lbnRzW1hMQ19DT0xMQVRFXTsKKwlpbnQgYywgbiwgdjsKIAogCS8qIGZpcnN0 IGBjbGVhcicgdGhlIHdob2xlIHRhYmxlICovCiAJYyA9ICpmbXQrKzsJCS8qIGZpcnN0IGNo YXIgaGF0ID0+IG5lZ2F0ZWQgc2NhbnNldCAqLwpAQCAtODcxLDI5ICs4NjksMTUgQEAKIAkJ CSAqIHdlIGp1c3Qgc3RvcmVkIGluIHRoZSB0YWJsZSAoYykuCiAJCQkgKi8KIAkJCW4gPSAq Zm10OwotCQkJaWYgKG4gPT0gJ10nCi0JCQkgICAgfHwgKHRhYmxlLT5fX2NvbGxhdGVfbG9h ZF9lcnJvciA/IG4gPCBjIDoKLQkJCQlfX3djb2xsYXRlX3JhbmdlX2NtcCh0YWJsZSwgbiwg YykgPCAwCi0JCQkgICAgICAgKQotCQkJICAgKSB7CisJCQlpZiAobiA9PSAnXScgfHwgbiA8 IGMpIHsKIAkJCQljID0gJy0nOwogCQkJCWJyZWFrOwkvKiByZXN1bWUgdGhlIGZvcig7Oykg Ki8KIAkJCX0KIAkJCWZtdCsrOwotCQkJLyogZmlsbCBpbiB0aGUgcmFuZ2UgKi8KLQkJCWlm ICh0YWJsZS0+X19jb2xsYXRlX2xvYWRfZXJyb3IpIHsKLQkJCQlkbyB7Ci0JCQkJCXRhYlsr K2NdID0gdjsKLQkJCQl9IHdoaWxlIChjIDwgbik7Ci0JCQl9IGVsc2UgewotCQkJCWZvciAo aSA9IDA7IGkgPCAyNTY7IGkgKyspCi0JCQkJCWlmIChfX3djb2xsYXRlX3JhbmdlX2NtcCh0 YWJsZSwgYywgaSkgPCAwICYmCi0JCQkJCSAgICBfX3djb2xsYXRlX3JhbmdlX2NtcCh0YWJs ZSwgaSwgbikgPD0gMAotCQkJCQkgICApCi0JCQkJCQl0YWJbaV0gPSB2OwotCQkJfQorCQkJ ZG8gewkJLyogZmlsbCBpbiB0aGUgcmFuZ2UgKi8KKwkJCQl0YWJbKytjXSA9IHY7CisJCQl9 IHdoaWxlIChjIDwgbik7CiAjaWYgMQkvKiBYWFggYW5vdGhlciBkaXNndXN0aW5nIGNvbXBh dGliaWxpdHkgaGFjayAqLwotCQkJYyA9IG47CiAJCQkvKgogCQkJICogQWxhcywgdGhlIFY3 IFVuaXggc2NhbmYgYWxzbyB0cmVhdHMgZm9ybWF0cwogCQkJICogc3VjaCBhcyBbYS1jLWVd IGFzIGB0aGUgbGV0dGVycyBhIHRocm91Z2ggZScuCg== --------------D1E3F9F08EFAE110A4449F74--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6d1d7aaa-eef0-cafc-b11a-3b81ee3fb230>