diff options
Diffstat (limited to 're.c')
-rw-r--r-- | re.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -613,7 +613,10 @@ rb_reg_search(re, str, pos, reverse) static struct re_registers regs; int range; - if (pos > RSTRING(str)->len) return -1; + if (pos > RSTRING(str)->len || pos < 0) { + rb_backref_set(Qnil); + return -1; + } rb_reg_check(re); if (may_need_recompile) rb_reg_prepare_re(re); |