From 2de5dc539b299ae27ea3157ec898a6dba33b6eda Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Mon, 20 Dec 2021 21:22:28 +1300 Subject: Fix handling of clear with offset and without length. --- io_buffer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'io_buffer.c') diff --git a/io_buffer.c b/io_buffer.c index d87575bfdd..2b775a8234 100644 --- a/io_buffer.c +++ b/io_buffer.c @@ -1180,9 +1180,11 @@ io_buffer_clear(int argc, VALUE *argv, VALUE self) offset = NUM2SIZET(argv[1]); } - size_t length = data->size; + size_t length; if (argc >= 3) { length = NUM2SIZET(argv[2]); + } else { + length = data->size - offset; } rb_io_buffer_clear(self, value, offset, length); -- cgit v1.2.3