You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by yl...@apache.org on 2021/01/05 10:42:52 UTC

svn commit: r1885142 - in /httpd/httpd/branches/2.4.x: ./ modules/aaa/mod_auth_digest.c

Author: ylavic
Date: Tue Jan  5 10:42:52 2021
New Revision: 1885142

URL: http://svn.apache.org/viewvc?rev=1885142&view=rev
Log:
Merge r1883810 from trunk:

mod_auth_digest: fix crash with ONE_PROCESS (debug) mode shutdown.

Avoid double free/cleanup by just letting shm/rmm/global_mutex cleanups do
their work on restart/exit.

Set the globals to NULL in initialize_tables() should cleanup_tables() be
called on error.

Submitted by: ylavic
Reviewed by: ylavic, jorton, covener

Modified:
    httpd/httpd/branches/2.4.x/   (props changed)
    httpd/httpd/branches/2.4.x/modules/aaa/mod_auth_digest.c

Propchange: httpd/httpd/branches/2.4.x/
------------------------------------------------------------------------------
  Merged /httpd/httpd/trunk:r1883810

Modified: httpd/httpd/branches/2.4.x/modules/aaa/mod_auth_digest.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/aaa/mod_auth_digest.c?rev=1885142&r1=1885141&r2=1885142&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/aaa/mod_auth_digest.c (original)
+++ httpd/httpd/branches/2.4.x/modules/aaa/mod_auth_digest.c Tue Jan  5 10:42:52 2021
@@ -262,6 +262,12 @@ static int initialize_tables(server_rec
 
     /* Create the shared memory segment */
 
+    client_shm = NULL;
+    client_rmm = NULL;
+    client_lock = NULL;
+    opaque_lock = NULL;
+    client_list = NULL;
+
     /*
      * Create a unique filename using our pid. This information is
      * stashed in the global variable so the children inherit it.
@@ -408,8 +414,6 @@ static int initialize_module(apr_pool_t
     if (initialize_tables(s, p) != OK) {
         return !OK;
     }
-    /* Call cleanup_tables on exit or restart */
-    apr_pool_cleanup_register(p, NULL, cleanup_tables, apr_pool_cleanup_null);
 #endif  /* APR_HAS_SHARED_MEMORY */
     return OK;
 }