diff options
| author | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2023-09-14 20:37:43 +1200 |
|---|---|---|
| committer | nagachika <nagachika@ruby-lang.org> | 2024-05-18 20:09:56 +0900 |
| commit | 0e664ebcd36879591223d1ecbb181aa05d82a4d9 (patch) | |
| tree | c553e13e411287a834ece8873156cfec0ae7455f /test/ruby | |
| parent | 67d499a7646a4f2f5294b6c83ac9503fcd873270 (diff) | |
Fix `io_buffer_get_string` default length computation. (#8427)
* Fix `io_buffer_get_string` default length computation.
When an offset bigger than the size is given, the resulting length will be
computed incorrectly. Raise an argument error in this case.
* Validate all arguments.
Diffstat (limited to 'test/ruby')
| -rw-r--r-- | test/ruby/test_io_buffer.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/test/ruby/test_io_buffer.rb b/test/ruby/test_io_buffer.rb index d6931119f2..0c62216642 100644 --- a/test/ruby/test_io_buffer.rb +++ b/test/ruby/test_io_buffer.rb @@ -238,13 +238,17 @@ class TestIOBuffer < Test::Unit::TestCase chunk = buffer.get_string(0, message.bytesize, Encoding::BINARY) assert_equal Encoding::BINARY, chunk.encoding - assert_raise_with_message(ArgumentError, /exceeds buffer size/) do + assert_raise_with_message(ArgumentError, /bigger than the buffer size/) do buffer.get_string(0, 129) end - assert_raise_with_message(ArgumentError, /exceeds buffer size/) do + assert_raise_with_message(ArgumentError, /bigger than the buffer size/) do buffer.get_string(129) end + + assert_raise_with_message(ArgumentError, /Offset can't be negative/) do + buffer.get_string(-1) + end end # We check that values are correctly round tripped. |
