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;