Hello all,

Sometimes ie. ssl enabled, Multiplexers having or not having chroot assigned
first chroot (the default (Processor apache apache /home) gets corrupted,
sometimes just nulled sometimes i get some text from the next config statement.


I tracked it to server/core.c:create_core_dir_config() overwriting it.

There is no new memory allocated for chroot string in
server/mpm/experimental/peruser.c:senv_add()
just a SENV[NUM_SENV].chroot = chroot;

I patched it tu use apr_pstrdup() and dup the string using the memory from
apr_pool_t * pool avaiable in
static const char* child_add(int type, int status, apr_pool_t *pool,
uid_t uid, gid_t gid, const char* chroot) function.
But it keept beeing owerwriten sometimes.

When I used malloc() everything went ok in all testcases.

How to fix this ?
Mayby allocate some subpool for that memory or use some other pool
that won't get overwriten.

The problematic config has 24 multiplexers,1 vhost and 2 processor
envs apache apache /home outside virtualhosts and another witch same
chroot in a virtualhost.

It is a apache 2.2.8 on x86_64.


-- 
Lazy
_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser

Reply via email to