Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: ModPerl-cvs

svn commit: r630597 - in /perl/modperl/trunk: Changes src/modules/perl/modperl_config.c t/response/TestAPI/add_config.pm

 

 

ModPerl modperl-cvs RSS feed   Index | Next | Previous | View Threaded


gozer at apache

Feb 23, 2008, 11:23 PM

Post #1 of 1 (325 views)
Permalink
svn commit: r630597 - in /perl/modperl/trunk: Changes src/modules/perl/modperl_config.c t/response/TestAPI/add_config.pm

Author: gozer
Date: Sat Feb 23 23:23:16 2008
New Revision: 630597

URL: http://svn.apache.org/viewvc?rev=630597&view=rev
Log:
Fix a possible $r->location curruption. Sometimes, the
path copied into $r->location would end it's life before
$r.

Reviewed-By: gozer
Submitted-By: Torsten Foertsch <torsten.foertsch[at]gmx.net>
Message-ID: <200802182200.40934.torsten.foertsch[at]gmx.net>


Modified:
perl/modperl/trunk/Changes
perl/modperl/trunk/src/modules/perl/modperl_config.c
perl/modperl/trunk/t/response/TestAPI/add_config.pm

Modified: perl/modperl/trunk/Changes
URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=630597&r1=630596&r2=630597&view=diff
==============================================================================
--- perl/modperl/trunk/Changes (original)
+++ perl/modperl/trunk/Changes Sat Feb 23 23:23:16 2008
@@ -12,6 +12,9 @@

=item 2.0.4-dev

+Fix $r->location corruption under certain conditions
+[Gozer]
+
Fix a crash when spawning Perl threads under Perl 5.10
[Gozer]


Modified: perl/modperl/trunk/src/modules/perl/modperl_config.c
URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_config.c?rev=630597&r1=630596&r2=630597&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_config.c (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_config.c Sat Feb 23 23:23:16 2008
@@ -518,7 +518,7 @@
parms.limited = -1;
parms.server = s;
parms.override = override;
- parms.path = path;
+ parms.path = apr_pstrdup(p, path);
parms.pool = p;
#ifdef MP_HTTPD_HAS_OVERRIDE_OPTS
if (override_options == MP_HTTPD_OVERRIDE_OPTS_UNSET) {

Modified: perl/modperl/trunk/t/response/TestAPI/add_config.pm
URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/response/TestAPI/add_config.pm?rev=630597&r1=630596&r2=630597&view=diff
==============================================================================
--- perl/modperl/trunk/t/response/TestAPI/add_config.pm (original)
+++ perl/modperl/trunk/t/response/TestAPI/add_config.pm Sat Feb 23 23:23:16 2008
@@ -58,6 +58,14 @@
};
$r->pnotes(followsymlinks => "$@");

+ eval {
+ my $path="/a/path/to/somewhere";
+ $r->add_config(['PerlResponseHandler '.__PACKAGE__], -1, $path);
+ # now overwrite the path in place to see if the location pointer
+ # is really copied: see modperl_config_dir_create
+ $path=~tr[a-z][n-za-m];
+ };
+
return Apache2::Const::DECLINED;
}

@@ -82,7 +90,7 @@
my ($self, $r) = @_;
my $cf = $self->get_config($r->server);

- plan $r, tests => 8;
+ plan $r, tests => 9;

ok t_cmp $r->pnotes('add_config1'), qr/.+\n/;
ok t_cmp $r->pnotes('add_config2'), (APACHE22 ? qr/.+\n/ : '');
@@ -102,6 +110,8 @@
my $opts = APACHE22 ? Apache2::Const::OPT_SYM_LINKS : $expect;
ok t_cmp $r->allow_override_opts, $opts;

+ ok t_cmp $r->location, '/a/path/to/somewhere';
+
return Apache2::Const::OK;
}

@@ -117,7 +127,6 @@
<Directory @DocumentRoot@>
AllowOverride All
</Directory>
- PerlResponseHandler TestAPI::add_config
PerlMapToStorageHandler TestAPI::add_config::map2storage
PerlFixupHandler TestAPI::add_config::fixup
</VirtualHost>

ModPerl modperl-cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.