subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From s...@apache.org
Subject svn commit: r1134032 - /subversion/trunk/subversion/svnserve/main.c
Date Thu, 09 Jun 2011 18:39:44 GMT
Author: stsp
Date: Thu Jun  9 18:39:43 2011
New Revision: 1134032

URL: http://svn.apache.org/viewvc?rev=1134032&view=rev
Log:
Fix issue #3664, "SASL support in inetd mode caused SIGSEGV during shutdown".

Make sure svnserve pool cleanup handlers that call sasl_dispose()
and sasl_done() are run in the right order.

Patch by: Alec Kloss <alec.kloss at oracle.com> 

* subversion/svnserve/main.c
  (main): Create a subpool to handle the connection in inetd mode as well.

Modified:
    subversion/trunk/subversion/svnserve/main.c

Modified: subversion/trunk/subversion/svnserve/main.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svnserve/main.c?rev=1134032&r1=1134031&r2=1134032&view=diff
==============================================================================
--- subversion/trunk/subversion/svnserve/main.c (original)
+++ subversion/trunk/subversion/svnserve/main.c Thu Jun  9 18:39:43 2011
@@ -707,9 +707,14 @@ int main(int argc, const char *argv[])
           return svn_cmdline_handle_exit_error(err, pool, "svnserve: ");
         }
 
+      /* Use a subpool for the connection to ensure that if SASL is used
+       * the pool cleanup handlers that call sasl_dispose() (connection_pool)
+       * and sasl_done() (pool) are run in the right order. See issue #3664. */
+      connection_pool = svn_pool_create(pool);
       conn = svn_ra_svn_create_conn2(NULL, in_file, out_file, 
-                                     params.compression_level, pool);
-      svn_error_clear(serve(conn, &params, pool));
+                                     params.compression_level,
+                                     connection_pool);
+      svn_error_clear(serve(conn, &params, connection_pool));
       exit(0);
     }
 



Mime
View raw message