diff options
author | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2006-07-20 22:03:59 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2006-07-20 22:03:59 +0000 |
commit | 56930b20d32463989774eccb7de3dc7d7282b17a (patch) | |
tree | bbdf0630f4297fc942d60d9cf67783604b9eeb0a /pp_hot.c | |
parent | 69a9b4b8cb205b3194738b7a08fc3fb9f858174f (diff) | |
download | perl-56930b20d32463989774eccb7de3dc7d7282b17a.tar.gz |
In pp_entersub, accept to handle a CV with a NULL padlist.
This fixes a crash with mod_perl 1.29.
p4raw-id: //depot/perl@28603
Diffstat (limited to 'pp_hot.c')
-rw-r--r-- | pp_hot.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -2825,12 +2825,14 @@ try_autoload: * 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); |