summaryrefslogtreecommitdiff
path: root/io_buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'io_buffer.c')
-rw-r--r--io_buffer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/io_buffer.c b/io_buffer.c
index d987b8fa38..6b5d5ee714 100644
--- a/io_buffer.c
+++ b/io_buffer.c
@@ -1156,6 +1156,9 @@ VALUE rb_io_buffer_free_locked(VALUE self)
static inline void
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) {
rb_raise(rb_eArgError, "Specified offset+length exceeds buffer size!");
}