[ruby-dev:49190] [Ruby trunk - Bug #11387] String#force_encoding と String#reverse の後にSEGV

From: towzero3@...
Date: 2015-07-22 13:31:05 UTC
List: ruby-dev #49190
Issue #11387 has been updated by Tatsuya Otsuka.

File stdout-and-stderr.txt added

----------------------------------------
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-53501

* 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: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
=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 byte=
 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/

In This Thread

Prev Next