That's great thanks Steve, much appreciated!

Will there be a 2.0.11 release with this fix?

Cheers,

Sam

> On 21 Jun 2019, at 5:38 pm, Steve Hay <steve.m....@googlemail.com> wrote:
> 
> Thanks for the report, Sam (and to Joe for the fix). This is now
> committed to mod_perl trunk:
> http://svn.apache.org/viewvc?view=revision&revision=1861755
> 
> On Thu, 20 Jun 2019 at 09:07, Steve Hay <steve.m....@googlemail.com> wrote:
>> 
>> Looks fine to me too. Will give it a test...
>> 
>> On Thu, 20 Jun 2019 at 01:28, Philippe Chiasson <go...@ectoplasm.org> wrote:
>>> 
>>> Looks good to me
>>> 
>>> Sent from the depths of my mind on an iPhone
>>> 
>>>> On Jun 19, 2019, at 17:22, Sam Vaughan <samjvaug...@gmail.com> wrote:
>>>> 
>>>> Hi mod_perl team,
>>>> 
>>>> I reported a bug yesterday to the Apache team, describing a segfault that 
>>>> only happens if mod_perl is installed:
>>>> 
>>>> https://bz.apache.org/bugzilla/show_bug.cgi?id=63516
>>>> 
>>>> My impression was that it should be fixed in httpd2, but mod_perl is the 
>>>> only module that adds a configuration flag to the global 
>>>> ap_server_config_defines array, so it has been suggested that a one-line 
>>>> change go into the modperl_register_hooks() function instead:
>>>> 
>>>> 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);
>>>> 
>>>> Essentially, the pool provided as an argument to this function doesn't 
>>>> have a long enough lifetime to safely be used as backing storage for the 
>>>> "MODPERL2" string.  This change uses the pool that the 
>>>> ap_server_config_defines array itself was created in, thereby giving the 
>>>> "MODPERL2" string the same lifetime as the array it is being added to.
>>>> 
>>>> As far as I can tell, this use-after-free bug has been sitting there for 
>>>> quite a few years now but Apache only segfaults if your OS is strict 
>>>> enough about reclaiming/unmapping freed memory.
>>>> 
>>>> Currently, this issue causes httpd2 to segfault during startup the 
>>>> majority of the time on OpenBSD 6.5.
>>>> 
>>>> I'd really appreciate it if someone could either confirm that the above 
>>>> patch is OK and apply it to mod_perl, or jump on the above Apache bug 
>>>> report and add a comment explaining why it isn't.
>>>> 
>>>> Thanks!
>>>> 
>>>> Sam
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscr...@perl.apache.org
>>>> For additional commands, e-mail: dev-h...@perl.apache.org
>>>> 
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@perl.apache.org
>>> For additional commands, e-mail: dev-h...@perl.apache.org
>>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@perl.apache.org
For additional commands, e-mail: dev-h...@perl.apache.org

Reply via email to