summaryrefslogtreecommitdiff
path: root/subversion/libsvn_wc/wc_db_pristine.c
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2016-04-29 19:16:59 +0000
committerDimitry Andric <dim@FreeBSD.org>2016-04-29 19:16:59 +0000
commitc94cceea9c2262c5b2ad5f215bb9a8ae48b02764 (patch)
treedbb8174cbf6f1cc45b8de8031b18adb4030509a8 /subversion/libsvn_wc/wc_db_pristine.c
parentdc5d469d6574e9fb03bdd793658bb371315b306a (diff)
Notes
Diffstat (limited to 'subversion/libsvn_wc/wc_db_pristine.c')
-rw-r--r--subversion/libsvn_wc/wc_db_pristine.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/subversion/libsvn_wc/wc_db_pristine.c b/subversion/libsvn_wc/wc_db_pristine.c
index bdfd46aa5c9a..9118d7068810 100644
--- a/subversion/libsvn_wc/wc_db_pristine.c
+++ b/subversion/libsvn_wc/wc_db_pristine.c
@@ -870,6 +870,7 @@ pristine_cleanup_wcroot(svn_wc__db_wcroot_t *wcroot,
{
svn_sqlite__stmt_t *stmt;
svn_error_t *err = NULL;
+ apr_pool_t *iterpool = svn_pool_create(scratch_pool);
/* Find each unreferenced pristine in the DB and remove it. */
SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
@@ -879,16 +880,20 @@ pristine_cleanup_wcroot(svn_wc__db_wcroot_t *wcroot,
svn_boolean_t have_row;
const svn_checksum_t *sha1_checksum;
+ svn_pool_clear(iterpool);
+
SVN_ERR(svn_sqlite__step(&have_row, stmt));
if (! have_row)
break;
SVN_ERR(svn_sqlite__column_checksum(&sha1_checksum, stmt, 0,
- scratch_pool));
+ iterpool));
err = pristine_remove_if_unreferenced(wcroot, sha1_checksum,
- scratch_pool);
+ iterpool);
}
+ svn_pool_destroy(iterpool);
+
return svn_error_trace(
svn_error_compose_create(err, svn_sqlite__reset(stmt)));
}