[ruby-dev:49191] [Ruby trunk - Bug #11387] String#force_encoding と String#reverse の後にSEGV
From:
nobu@...
Date:
2015-07-22 14:44:21 UTC
List:
ruby-dev #49191
Issue #11387 has been updated by Nobuyoshi Nakada.
Description updated
Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: =
REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED
----------------------------------------
Bug #11387: String#force_encoding =E3=81=A8 String#reverse =E3=81=AE=E5=BE=
=8C=E3=81=ABSEGV
https://bugs.ruby-lang.org/issues/11387#change-53505
* Author: Tatsuya Otsuka
* Status: Open
* Priority: Normal
* Assignee:=20
* ruby -v: ruby 2.3.0dev (2015-07-22 trunk 51342) [x86_64-darwin14]
* Backport: 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED
----------------------------------------
=E4=BB=A5=E4=B8=8B=E3=81=AE=E3=82=B3=E3=83=BC=E3=83=89=E3=81=A7SEGV=E3=81=
=97=E3=81=BE=E3=81=99=E3=80=82
```ruby
broken_str =3D "abcd\xf0"
broken_str.force_encoding("utf-8").reverse
p broken_str.reverse
```
=E3=81=BE=E3=81=9F=E3=80=81=E4=BB=A5=E4=B8=8B=E3=81=AE=E3=82=B3=E3=83=BC=E3=
=83=89=E3=81=A7=E3=81=AF `String#split` =E3=81=A7 `ArgumentError (invalid b=
yte sequence in UTF-8)` =E3=81=8C
=E7=99=BA=E7=94=9F=E3=81=99=E3=82=8B=E3=81=93=E3=81=A8=E3=81=8C=E6=9C=9F=E5=
=BE=85=E3=81=95=E3=82=8C=E3=81=BE=E3=81=99=E3=81=8C=E3=80=81=E5=AE=9F=E9=9A=
=9B=E3=81=AF=E4=BE=8B=E5=A4=96=E3=81=8C=E7=99=BA=E7=94=9F=E3=81=97=E3=81=BE=
=E3=81=9B=E3=82=93=E3=80=82
```ruby
broken_str =3D "abcd\xf0"
broken_str.force_encoding("utf-8").reverse
"".split(broken_str)
```
---Files--------------------------------
stdout-and-stderr.txt (3.97 KB)
--=20
https://bugs.ruby-lang.org/