diff --git a/re.c b/re.c index b05d78b..7cd38c6 100644 --- a/re.c +++ b/re.c @@ -1327,13 +1327,7 @@ rb_reg_search(VALUE re, VALUE str, int pos, int reverse) regs, ONIG_OPTION_NONE); if (!tmpreg) RREGEXP(re)->usecnt--; if (tmpreg) { - if (RREGEXP(re)->usecnt) { - onig_free(reg); - } - else { - onig_free(RREGEXP(re)->ptr); - RREGEXP(re)->ptr = reg; - } + onig_free(reg); } if (result < 0) { if (regs == ®i)