[ruby-core:71611] [Ruby trunk - Bug #11721] [Open] String used as IO object buffer unexpectedly frozen if #to_sym called on it

From: twalpole@...
Date: 2015-11-20 17:33:04 UTC
List: ruby-core #71611
Issue #11721 has been reported by Thomas Walpole.

----------------------------------------
Bug #11721: String used as IO object buffer unexpectedly frozen if #to_sym called on it
https://bugs.ruby-lang.org/issues/11721

* Author: Thomas Walpole
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.3.0dev (2015-11-20 trunk 52685) [x86_64-darwin14]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
A string with forced encoding used a buffer for reading from a File becomes frozen unexpectedly if #to_sym is called on it

file = File.open('some_file')
str = ""
str.force_encoding(Encoding::US_ASCII)
str.frozen?  # => false
file.read(2,str)
str.frozen? # => false
str.to_sym
str.frozen? # => true

If the force_encoding is skipped str doesn't become frozen, same with reading from the file.





-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next