You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by st...@apache.org on 2004/03/04 00:08:49 UTC

cvs commit: modperl-2.0/src/modules/perl modperl_handler.c

stas        2004/03/03 15:08:49

  Modified:    src/modules/perl modperl_handler.c
  Log:
  verify that GV is valid to avoid segfaults
  
  Revision  Changes    Path
  1.25      +3 -1      modperl-2.0/src/modules/perl/modperl_handler.c
  
  Index: modperl_handler.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_handler.c,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -u -r1.24 -r1.25
  --- modperl_handler.c	14 Feb 2004 23:22:06 -0000	1.24
  +++ modperl_handler.c	3 Mar 2004 23:08:49 -0000	1.25
  @@ -456,7 +456,9 @@
           if (CvANON((CV*)sv)) {
               return modperl_handler_new_anon(aTHX_ p, (CV*)sv);
           }
  -        gv = CvGV((CV*)sv);
  +        if (!(gv = CvGV((CV*)sv))) {
  +            Perl_croak(aTHX_ "can't resolve the code reference");
  +        }
           name = apr_pstrcat(p, HvNAME(GvSTASH(gv)), "::", GvNAME(gv), NULL);
           return modperl_handler_new(p, apr_pstrdup(p, name));
           break;