summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2023-10-28 11:39:43 +0900
committernagachika <nagachika@ruby-lang.org>2023-10-28 11:57:52 +0900
commit8bbf909bb561732057b533cee1618b14886e07ba (patch)
tree650ee32327deaa4bb808c0c038ba461793dcaf3f /test
parent2d6067dc7d02c5942da6636bba8b1629065aecf0 (diff)
merge revision(s) 19346c2336053b351673da030b00c704138252d8: [Backport #19754]
[Bug #19754] Make `IO::Buffer#get_string` check `offset` range (#8016) --- io_buffer.c | 3 +++ test/ruby/test_io_buffer.rb | 8 ++++++++ 2 files changed, 11 insertions(+)
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_io_buffer.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/ruby/test_io_buffer.rb b/test/ruby/test_io_buffer.rb
index a0949a54f2..13e28abea9 100644
--- a/test/ruby/test_io_buffer.rb
+++ b/test/ruby/test_io_buffer.rb
@@ -237,6 +237,14 @@ 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
+ buffer.get_string(0, 129)
+ end
+
+ assert_raise_with_message(ArgumentError, /exceeds buffer size/) do
+ buffer.get_string(129)
+ end
end
# We check that values are correctly round tripped.