From: Doug MacEachern Date: Thu, 18 Apr 2002 01:56:16 +0000 (+0000) Subject: plug memory leak in perl_destruct() by cleaning out PL_debug_pad X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=9f375a433613c9bc1f6215ee2370484d82068b54;p=p5sagit%2Fp5-mst-13.2.git plug memory leak in perl_destruct() by cleaning out PL_debug_pad p4raw-id: //depot/perl@15988 --- diff --git a/perl.c b/perl.c index 30db9e3..c32cc0a 100644 --- a/perl.c +++ b/perl.c @@ -820,6 +820,16 @@ perl_destruct(pTHXx) SvREFCNT(&PL_sv_undef) = 0; SvREADONLY_off(&PL_sv_undef); + { + int i; + for (i=0; i<=2; i++) { + SvREFCNT(PERL_DEBUG_PAD(i)) = 0; + sv_clear(PERL_DEBUG_PAD(i)); + SvANY(PERL_DEBUG_PAD(i)) = NULL; + SvFLAGS(PERL_DEBUG_PAD(i)) = 0; + } + } + if (PL_sv_count != 0 && ckWARN_d(WARN_INTERNAL)) Perl_warner(aTHX_ packWARN(WARN_INTERNAL),"Scalars leaked: %ld\n", (long)PL_sv_count);