https://bz.apache.org/bugzilla/show_bug.cgi?id=63516

--- Comment #6 from Sam Vaughan <[email protected]> ---
My gut feeling is that a code change should go into Apache to defend against
issues like this, but I'm certainly happy to run with a mod_perl fix for now if
it works.

I just turned your diff into a patch for the OpenBSD 6.5 ap2-mod_perl port:

$ cat /usr/ports/www/ap2-mod_perl/patches/patch-src_modules_perl_mod_perl_c
https://bz.apache.org/bugzilla/show_bug.cgi?id=63516

Index: src/modules/perl/mod_perl.c
--- src/modules/perl/mod_perl.c.orig
+++ src/modules/perl/mod_perl.c
@@ -861,7 +861,7 @@

     /* for <IfDefine MODPERL2> and Apache2->define("MODPERL2") */
     *(char **)apr_array_push(ap_server_config_defines) =
-        apr_pstrdup(p, "MODPERL2");
+        apr_pstrdup(ap_server_config_defines->pool, "MODPERL2");

     ap_hook_pre_config(modperl_hook_pre_config,
                        NULL, NULL, APR_HOOK_MIDDLE);

Building and running that in gdb shows that the "MODPERL2" string survives the
apr_pool_clear() call.  I'll do some more testing because the original bug was
only about 80% reproducible but so far so good.

Thanks very much Joe.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to