summaryrefslogtreecommitdiff
path: root/universal.c
diff options
context:
space:
mode:
authorAdrian M. Enache <enache@rdslink.ro>2003-04-02 08:02:42 +0300
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2003-04-19 19:40:22 +0000
commit39cff0d9bacec3b7c45b12560665095ba3be16b2 (patch)
treedfbfd756019e90ca6d3f1e88a83da454b9a4b9ff /universal.c
parentabc667d141be9d100fa9e0402f7809147d1f69b9 (diff)
downloadperl-39cff0d9bacec3b7c45b12560665095ba3be16b2.tar.gz
Fix bug #21347 (segfault in UNIVERSAL::AUTOLOAD with qr//)
by adding a dummy destructor method Regexp::DESTROY. This prevents infinite recursion, since Regexp::DESTROY is no more autoloaded. Subject: Re: [perl #21347] segfault in UNIVERSAL::AUTOLOAD Message-ID: <20030402020242.GA2966@ratsnest.hole> p4raw-id: //depot/perl@19277
Diffstat (limited to 'universal.c')
-rw-r--r--universal.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/universal.c b/universal.c
index 24621d20fc..e7889fb1fd 100644
--- a/universal.c
+++ b/universal.c
@@ -182,6 +182,7 @@ XS(XS_Internals_SvREADONLY);
XS(XS_Internals_SvREFCNT);
XS(XS_Internals_hv_clear_placehold);
XS(XS_PerlIO_get_layers);
+XS(XS_Regexp_DESTROY);
void
Perl_boot_core_UNIVERSAL(pTHX)
@@ -222,6 +223,7 @@ Perl_boot_core_UNIVERSAL(pTHX)
XS_Internals_hv_clear_placehold, file, "\\%");
newXSproto("PerlIO::get_layers",
XS_PerlIO_get_layers, file, "*;@");
+ newXS("Regexp::DESTROY", XS_Regexp_DESTROY, file);
}
@@ -723,6 +725,11 @@ XS(XS_Internals_hv_clear_placehold)
XSRETURN(0);
}
+XS(XS_Regexp_DESTROY)
+{
+
+}
+
XS(XS_PerlIO_get_layers)
{
dXSARGS;