You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2010/05/25 00:57:59 UTC
svn commit: r947851 - in /subversion/trunk/subversion/libsvn_wc: diff.c
workqueue.c
Author: julianfoad
Date: Mon May 24 22:57:59 2010
New Revision: 947851
URL: http://svn.apache.org/viewvc?rev=947851&view=rev
Log:
Fix an error leak introduced in r947718. Also add error tracing to a
similar fix that was committed in r947829.
* subversion/libsvn_wc/diff.c
(get_nearest_pristine_text_as_file): If the error isn't the expected one,
return it.
* subversion/libsvn_wc/workqueue.c
(verify_pristine_present): Use 'svn_error_return()'.
Modified:
subversion/trunk/subversion/libsvn_wc/diff.c
subversion/trunk/subversion/libsvn_wc/workqueue.c
Modified: subversion/trunk/subversion/libsvn_wc/diff.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/diff.c?rev=947851&r1=947850&r2=947851&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/diff.c (original)
+++ subversion/trunk/subversion/libsvn_wc/diff.c Mon May 24 22:57:59 2010
@@ -161,11 +161,12 @@ get_nearest_pristine_text_as_file(const
result_pool, scratch_pool);
if (err && err->apr_err == SVN_ERR_WC_PATH_UNEXPECTED_STATUS)
- {
- svn_error_clear(err);
- err = svn_wc__text_revert_path_to_read(result_abspath, db, local_abspath,
- result_pool);
- }
+ svn_error_clear(err);
+ else
+ return svn_error_return(err);
+
+ err = svn_wc__text_revert_path_to_read(result_abspath, db, local_abspath,
+ result_pool);
/* If there is no revert base to diff either, don't attempt to diff it.
### This is a band-aid.
@@ -177,11 +178,11 @@ get_nearest_pristine_text_as_file(const
### base text from the pristine store anyway and use tempfiles (or
### streams, hopefully) for diffing, so this hack will just go away. */
if (err && err->apr_err == SVN_ERR_WC_PATH_UNEXPECTED_STATUS)
- {
- svn_error_clear(err);
- *result_abspath = NULL;
- }
+ svn_error_clear(err);
+ else
+ return svn_error_return(err);
+ *result_abspath = NULL;
return SVN_NO_ERROR;
}
Modified: subversion/trunk/subversion/libsvn_wc/workqueue.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/workqueue.c?rev=947851&r1=947850&r2=947851&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/workqueue.c (original)
+++ subversion/trunk/subversion/libsvn_wc/workqueue.c Mon May 24 22:57:59 2010
@@ -496,14 +496,14 @@ verify_pristine_present(svn_wc__db_t *db
if (err && err->apr_err == SVN_ERR_WC_PATH_UNEXPECTED_STATUS)
svn_error_clear(err);
else
- return err;
+ return svn_error_return(err);
err = svn_wc__text_revert_path_to_read(&base_abspath, db, local_abspath,
scratch_pool);
if (err && err->apr_err == SVN_ERR_WC_PATH_UNEXPECTED_STATUS)
svn_error_clear(err);
else
- return err;
+ return svn_error_return(err);
/* A real file must have either a regular or a revert text-base.
If it has neither, we could be looking at the situation described