Mailing List Archive

svn commit: r1886793 - /perl/modperl/trunk/src/modules/perl/modperl_config.c
Author: stevehay
Date: Mon Feb 22 14:22:21 2021
New Revision: 1886793

URL: http://svn.apache.org/viewvc?rev=1886793&view=rev
Log:
Fix SIGSEGV crash due to wrong use of perl_parse()

Patch by Charles Pigott <cpigott@rapitasystems.com>.

Modified:
perl/modperl/trunk/src/modules/perl/modperl_config.c

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=1886793&r1=1886792&r2=1886793&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_config.c (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_config.c Mon Feb 22 14:22:21 2021
@@ -163,7 +163,8 @@ modperl_config_srv_t *modperl_config_srv
scfg->PerlPostConfigRequire =
apr_array_make(p, 1, sizeof(modperl_require_file_t *));

- scfg->argv = apr_array_make(p, 2, sizeof(char *));
+ /* 2 arguments + NULL terminator */
+ scfg->argv = apr_array_make(p, 3, sizeof(char *));

scfg->setvars = apr_table_make(p, 2);
scfg->configvars = apr_table_make(p, 2);
@@ -219,6 +220,9 @@ char **modperl_config_srv_argv_init(modp

*argc = scfg->argv->nelts;

+ /* perl_parse() expects a NULL terminated argv array */
+ modperl_config_srv_argv_push(NULL);
+
MP_TRACE_g_do(dump_argv(scfg));

return (char **)scfg->argv->elts;