diff --git a/ChangeLog b/ChangeLog index 956401a2fc..f66890db9c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -911,6 +911,10 @@ Sat May 17 12:15:48 2008 Nobuyoshi Nakada * file.c (rb_file_s_extname): ditto. +Sat May 17 10:18:44 2008 Yukihiro Matsumoto + + * re.c (rb_reg_search): need to free allocated buffer in re_register. + Mon Mar 3 23:34:13 2008 GOTOU Yuuzou * lib/webrick/httpservlet/filehandler.rb: should normalize path diff --git a/re.c b/re.c index 6cada9a714..5553d28dba 100644 --- a/re.c +++ b/re.c @@ -927,6 +927,7 @@ rb_reg_search(re, str, pos, reverse) } if (result < 0) { + re_free_registers(®s); rb_backref_set(Qnil); return result; } @@ -943,6 +944,7 @@ rb_reg_search(re, str, pos, reverse) } re_copy_registers(RMATCH(match)->regs, ®s); + re_free_registers(®s); RMATCH(match)->str = rb_str_new4(str); rb_backref_set(match);