Project

General

Profile

Actions

Bug #15460

closed

Behaviour of String#setbyte changed

Added by gettalong (Thomas Leitner) almost 6 years ago. Updated almost 5 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]
[ruby-core:90700]

Description

I just installed Ruby 2.6.0 for benchmarking reasons and found that the change string.c: setbyte silently ignores upper bits broke my library/application HexaPDF.

Before using String#setbyte I tested how it would respond to values lower than 0 or greater than 255 and found that it automatically performed the needed modulo 256 operation (at least up to Ruby 2.5.3). Therefore I left out the explicit modulo operation for performance reasons.

Would it make sense to change the String#setbyte implementation to perform the modulo operation? This would restore compatibility with prior Ruby versions and may be what people would expect.


Related issues 2 (0 open2 closed)

Related to Ruby master - Bug #10453: NUM2CHR() does not perform additional bounds checksRejectedmatz (Yukihiro Matsumoto)Actions
Related to Ruby master - Feature #20594: A new String method to append bytes while preserving encodingClosedbyroot (Jean Boussier)Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0