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.

Reply via email to