Change 28603 by [EMAIL PROTECTED] on 2006/07/20 22:03:59
In pp_entersub, accept to handle a CV with a NULL padlist.
This fixes a crash with mod_perl 1.29.
Affected files ...
... //depot/perl/pp_hot.c#472 edit
Differences ...
==== //depot/perl/pp_hot.c#472 (text) ====
Index: perl/pp_hot.c
--- perl/pp_hot.c#471~28601~ 2006-07-19 14:34:05.000000000 -0700
+++ perl/pp_hot.c 2006-07-20 15:03:59.000000000 -0700
@@ -2825,12 +2825,14 @@
* Owing the speed considerations, we choose instead to search for
* the cv using find_runcv() when calling doeval().
*/
- if (CvDEPTH(cv) >= 2) {
- PERL_STACK_OVERFLOW_CHECK();
- pad_push(padlist, CvDEPTH(cv));
+ if (padlist) {
+ if (CvDEPTH(cv) >= 2) {
+ PERL_STACK_OVERFLOW_CHECK();
+ pad_push(padlist, CvDEPTH(cv));
+ }
+ SAVECOMPPAD();
+ PAD_SET_CUR_NOSAVE(padlist, CvDEPTH(cv));
}
- SAVECOMPPAD();
- PAD_SET_CUR_NOSAVE(padlist, CvDEPTH(cv));
if (hasargs)
{
AV* const av = (AV*)PAD_SVl(0);
End of Patch.