Skip site navigation (1)Skip section navigation (2)
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>