parent
11c32e33eb
commit
19346c2336
Notes:
git
2023-09-12 21:45:46 +00:00
Merged-By: ioquatix <samuel@codeotaku.com>
@ -1156,6 +1156,9 @@ VALUE rb_io_buffer_free_locked(VALUE self)
|
|||||||
static inline void
|
static inline void
|
||||||
io_buffer_validate_range(struct rb_io_buffer *buffer, size_t offset, size_t length)
|
io_buffer_validate_range(struct rb_io_buffer *buffer, size_t offset, size_t length)
|
||||||
{
|
{
|
||||||
|
if (offset > buffer->size) {
|
||||||
|
rb_raise(rb_eArgError, "Specified offset exceeds buffer size!");
|
||||||
|
}
|
||||||
if (offset + length > buffer->size) {
|
if (offset + length > buffer->size) {
|
||||||
rb_raise(rb_eArgError, "Specified offset+length exceeds buffer size!");
|
rb_raise(rb_eArgError, "Specified offset+length exceeds buffer size!");
|
||||||
}
|
}
|
||||||
|
@ -251,6 +251,14 @@ class TestIOBuffer < Test::Unit::TestCase
|
|||||||
|
|
||||||
chunk = buffer.get_string(0, message.bytesize, Encoding::BINARY)
|
chunk = buffer.get_string(0, message.bytesize, Encoding::BINARY)
|
||||||
assert_equal Encoding::BINARY, chunk.encoding
|
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
|
end
|
||||||
|
|
||||||
# We check that values are correctly round tripped.
|
# We check that values are correctly round tripped.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user