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);