summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authorCsaba Henk <csaba@redhat.com>2021-08-10 01:07:06 +0200
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-08-10 11:32:45 +0900
commit8df1ace64a7695c855bf0a774e3fd70edfab0bf3 (patch)
treeeca9074744ad99e5f9a463eb94cd435510773b44 /io.c
parent510c3655c9789f93e799499cd7923461e2743ec0 (diff)
Fix ARGF.read(length) short read [Bug #18074]
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/4727
Diffstat (limited to 'io.c')
-rw-r--r--io.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/io.c b/io.c
index bbecc427db..4d5c3acd3a 100644
--- a/io.c
+++ b/io.c
@@ -12512,8 +12512,7 @@ argf_read(int argc, VALUE *argv, VALUE argf)
else if (argc >= 1) {
long slen = RSTRING_LEN(str);
if (slen < len) {
- len -= slen;
- argv[0] = LONG2NUM(len);
+ argv[0] = LONG2NUM(len - slen);
goto retry;
}
}