https://bz.apache.org/bugzilla/show_bug.cgi?id=70272
Bug ID: 70272
Summary: mod_auth_digest: failed child_init destroys shared rmm
state for all processes and leaves the child with
dangling pointers
Product: Apache httpd-2
Version: 2.4.69
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: mod_auth_digest
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
If apr_global_mutex_child_init() fails in initialize_child() (e.g. with
"Mutex flock:..." when the lock file has been removed or is not readable
by the child user), the child calls log_error_and_cleanup() ->
cleanup_tables(). cleanup_tables() is owner-side cleanup, but here it
runs in a child.
This effects other child since apr_rmm_destroy(client_rmm);
client_rmm = NULL; happens in cleanup_tables
If another child tries to generate a client in client table it will fail and
causes gc to remove old clinets. Therefore a new client is responend with 503.
A child that cannot initialise must not modify shared state. It should
either exit, or disable client tracking locally and fail Digest requests
needing it with a clear error.
--
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]