diff options
author | Jeremy Evans <code@jeremyevans.net> | 2022-05-26 10:37:01 -0700 |
---|---|---|
committer | Jeremy Evans <code@jeremyevans.net> | 2022-08-25 13:36:17 -0700 |
commit | 21cac42385e1a116d287e155e461453b830640d2 (patch) | |
tree | 63d7677ff07a004e2150c733ea6369dd6d549dd6 /io.c | |
parent | 881bc2a1765e7c19ab389c53841adc5ac329f1aa (diff) | |
download | ruby-21cac42385e1a116d287e155e461453b830640d2.tar.gz |
Raise ArgumentError for IO.foreach with limit of 0
Makes behavior consistent with IO.readlines.
Fixes [Bug #18767]
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -11518,6 +11518,8 @@ io_s_foreach(VALUE v) struct getline_arg *arg = (void *)v; VALUE str; + if (arg->limit == 0) + rb_raise(rb_eArgError, "invalid limit: 0 for foreach"); while (!NIL_P(str = rb_io_getline_1(arg->rs, arg->limit, arg->chomp, arg->io))) { rb_lastline_set(str); rb_yield(str); |