diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-02-16 11:13:47 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-02-16 11:13:47 +0000 |
commit | dacd6812f3e016e55268b9208eb73d8a768f954f (patch) | |
tree | 7af621155dd3bb8cc601fe9504f60b2a023b62ed /re.c | |
parent | 55b137904fb1760ea40cb915052ccf1c659d7f35 (diff) | |
download | ruby-dacd6812f3e016e55268b9208eb73d8a768f954f.tar.gz ruby-dacd6812f3e016e55268b9208eb73d8a768f954f.tar.xz ruby-dacd6812f3e016e55268b9208eb73d8a768f954f.zip |
* re.c (match_inspect): avoid SEGV with MatchData.allocate.inspect.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 're.c')
-rw-r--r-- | re.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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); |