diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | re.c | 4 |
2 files changed, 8 insertions, 0 deletions
@@ -1,3 +1,7 @@ +Sat Feb 16 20:12:47 2008 Tanaka Akira <akr@fsij.org> + + * re.c (match_inspect): avoid SEGV with MatchData.allocate.inspect. + Sat Feb 16 19:04:17 2008 NARUSE, Yui <naruse@ruby-lang.org> * string.c (str_strlen): revert r15507. [ruby-dev:33810] @@ -1510,6 +1510,10 @@ match_inspect(VALUE match) struct backref_name_tag *names; VALUE regexp = RMATCH(match)->regexp; + if (regexp == 0) { + return rb_sprintf("#<%s:%p>", cname, (void*)match); + } + names = ALLOCA_N(struct backref_name_tag, num_regs); MEMZERO(names, struct backref_name_tag, num_regs); |