You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2015/03/02 11:40:37 UTC
svn commit: r1663246 - /subversion/trunk/subversion/libsvn_fs/editor.c
Author: rhuijben
Date: Mon Mar 2 10:40:37 2015
New Revision: 1663246
URL: http://svn.apache.org/r1663246
Log:
Fix another valid compiler warning, by making an error code path more explicit.
* subversion/libsvn_fs/editor.c
(svn_fs__editor_commit): Don't process errors from svn_editor_complete() as if
they originate from svn_fs_commit_txn() to avoid accessing variables
(/state) that wasn't set.
Modified:
subversion/trunk/subversion/libsvn_fs/editor.c
Modified: subversion/trunk/subversion/libsvn_fs/editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs/editor.c?rev=1663246&r1=1663245&r2=1663246&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs/editor.c (original)
+++ subversion/trunk/subversion/libsvn_fs/editor.c Mon Mar 2 10:40:37 2015
@@ -777,16 +777,24 @@ svn_fs__editor_commit(svn_revnum_t *revi
/* Clean up internal resources (eg. eb->root). This also allows the
editor infrastructure to know this editor is "complete". */
err = svn_editor_complete(editor);
+ if (err)
+ {
+ svn_fs_txn_t *txn = eb->txn;
+
+ eb->txn = NULL;
+ return svn_error_trace(svn_error_compose_create(
+ err,
+ svn_fs_abort_txn(txn, scratch_pool)));
+ }
/* Note: docco for svn_fs_commit_txn() states that CONFLICT_PATH will
be allocated in the txn's pool. But it lies. Regardless, we want
it placed into RESULT_POOL. */
- if (!err)
- err = svn_fs_commit_txn(&inner_conflict_path,
- revision,
- eb->txn,
- scratch_pool);
+ err = svn_fs_commit_txn(&inner_conflict_path,
+ revision,
+ eb->txn,
+ scratch_pool);
if (SVN_IS_VALID_REVNUM(*revision))
{
if (err)