Author: stefan2
Date: Sat Jan  4 14:04:36 2014
New Revision: 1555350

URL: http://svn.apache.org/r1555350
Log:
Fix segfault in svnmucc.

* subversion/libsvn_client/mtcc.c
  (svn_client_mtcc_commit):  We explicitly destroy the MTCC pool and
                             have no knowledge about its relation to
                             SCRATCH_POOL.  Thus, we can't use the
                             for anything non-trivial.

Modified:
    subversion/trunk/subversion/libsvn_client/mtcc.c

Modified: subversion/trunk/subversion/libsvn_client/mtcc.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/mtcc.c?rev=1555350&r1=1555349&r2=1555350&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/mtcc.c (original)
+++ subversion/trunk/subversion/libsvn_client/mtcc.c Sat Jan  4 14:04:36 2014
@@ -1337,12 +1337,15 @@ svn_client_mtcc_commit(apr_hash_t *revpr
                                "is not a directory"),
                              session_url);
 
+  /* Beware that the editor object must not live longer than the MTCC.
+     Otherwise, txn objects etc. in EDITOR may live longer than their
+     respective FS objects.  So, we can't use SCRATCH_POOL here. */
   SVN_ERR(svn_ra_get_commit_editor3(mtcc->ra_session, &editor, &edit_baton,
                                     commit_revprops,
                                     commit_callback, commit_baton,
                                     NULL /* lock_tokens */,
                                     FALSE /* keep_locks */,
-                                    scratch_pool));
+                                    mtcc->pool));
 
   err = editor->open_root(edit_baton, mtcc->base_revision, scratch_pool, 
&root_baton);
 


Reply via email to