diff options
author | Jean Boussier <byroot@ruby-lang.org> | 2023-11-09 10:17:46 +0100 |
---|---|---|
committer | Jean Boussier <jean.boussier@gmail.com> | 2023-11-09 11:45:02 +0100 |
commit | b013aae0c66fbef0faaab29ceeda18bae4fef608 (patch) | |
tree | 7cb11bccb5c5aa5473817a2612b25b0fa7d4d2b8 /io.c | |
parent | 0f02fbd9ffc0c26fa160505872a6c0d0b0493028 (diff) | |
download | ruby-b013aae0c66fbef0faaab29ceeda18bae4fef608.tar.gz |
IO#read always check the provided buffer is mutable
Otherwise you can have work in some circumstance but not in others.
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -3276,9 +3276,10 @@ io_setstrbuf(VALUE *str, long len) } else { VALUE s = StringValue(*str); + rb_str_modify(s); + long clen = RSTRING_LEN(s); if (clen >= len) { - rb_str_modify(s); return FALSE; } len -= clen; |