Project

General

Profile

Actions

Bug #5921

closed

SEGV caused by Encoding.compatible? "abc", :abc

Added by brixen (Brian Shirai) about 12 years ago. Updated about 12 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]
Backport:
[ruby-core:42204]

Description

Calling Encoding.compatible? with a String and Symbol causes a SEGV.

Calling with two Symbols, a Symbol and Regexp, or a String and Regexp works fine.

sasha:source brian$ ruby -v -e 'p Encoding.compatible? "abc", :abc'
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]
-e:1: [BUG] Segmentation fault

Full report: https://gist.github.com/1651681

Thanks,
Brian

Updated by brixen (Brian Shirai) about 12 years ago

It also SEGVs on trunk.

Updated by brixen (Brian Shirai) about 12 years ago

The following also causes a SEGV:

ruby -v -e 'sym = "\xff".force_encoding("binary").to_sym; p Encoding.compatible? sym, :abc'

Normally, two Symbols works. The trigger appears to be the symbol not being ASCII only. The following works:

ruby -v -e 'sym = "\x7f".force_encoding("binary").to_sym; p Encoding.compatible? sym, :abc'

Updated by brixen (Brian Shirai) about 12 years ago

And this also causes a SEGV:

ruby -v -e 're = Regexp.new("\xff".force_encoding("binary")); p Encoding.compatible? re, :abc'

Using "\x7f" works.

Actions #4

Updated by naruse (Yui NARUSE) about 12 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r34350.
Brian, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0