[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apache-modperl
Subject:    Re: <Perl> Directive changes the command nam
From:       "Philippe M. Chiasson" <gozer () ectoplasm ! org>
Date:       2005-08-29 23:42:35
Message-ID: 43139D6B.2080303 () ectoplasm ! org
[Download RAW message or body]


pradeep kumar wrote:
> Hi All,
> 
> Has anyone come across the command name changing when the Perl
> directive is introduced in the configuration file.
> 
> When,
> 
> <Perl>
> </Perl>
> 
>  is used then ps -ef gives the proper command name namely httpd. 
> 
> When
> <Perl>
> 
> </Perl>
> 
> is used(This time with a blank line) then ps -ef does not give httpd
> as the command name, instead gievs -e as the command name. This occurs
> even when a directive is used inside the section but the directive is
> parsed though.  Is there any buffer overflow that may be happening.

Can you please report a more complete bug report that includes at least the
version numbers of what you are running ?

mp1 bug reporting: http://perl.apache.org/docs/1.0/guide/help.html#How_to_Report_Problems
mp2 bug reporting: http://perl.apache.org/docs/2.0/user/help/help.html#Reporting_Problems

But after having looked at mp1's code, I suspect you are running mp1 and that there
is a bug there. Can you try applying this patch ?

Index: src/modules/perl/perl_config.c
===================================================================
--- src/modules/perl/perl_config.c      (revision 190634)
+++ src/modules/perl/perl_config.c      (working copy)
@@ -1764,12 +1766,13 @@
     perl_section_hash_init("FilesMatch", dotie);
     perl_section_hash_init("Limit", dotie);

-    sv_setpv(perl_get_sv("0", TRUE), cmd_filename);
-
     ENTER_SAFE(parms->server, parms->pool);
     MP_TRACE_g(mod_perl_dump_opmask());

     {
+        SV *scriptname = perl_get_sv("0", TRUE);
+        save_item(scriptname);
+        sv_setpv_mg(scriptname, cmd_filename);
         SV *server_sv = perl_get_sv("Apache::__SERVER", FALSE);
         IV ptr = SvIVX(SvRV(server_sv));
         SvIVX(SvRV(server_sv)) = (IV)parms->server;

But one thing is for sure, in mp1, this is a bug, since it's setting $0 but
failing to reset it back.

--------------------------------------------------------------------------------
Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5
http://gozer.ectoplasm.org/     F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5

["signature.asc" (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic