Philip Martin <philip.mar...@wandisco.com> writes:

> I can fix the valgrind errors with this patch:
>
> Index: subversion/libsvn_client/commit.c
> ===================================================================
> --- subversion/libsvn_client/commit.c (revision 1327801)
> +++ subversion/libsvn_client/commit.c (working copy)
> @@ -782,7 +782,7 @@
>  
>    SVN_ERR(svn_client__open_ra_session_internal(&ra_session, NULL, url, NULL,
>                                                 NULL, FALSE, TRUE, ctx,
> -                                               scratch_pool));
> +                                               iterpool));
>  
>    /* Figure out all the path components we need to create just to have
>       a place to stick our imported tree. */
> @@ -790,8 +790,6 @@
>                              iterpool));
>    while (kind == svn_node_none)
>      {
> -      svn_pool_clear(iterpool);
> -
>        svn_uri_split(&temp, &dir, url, scratch_pool);
>        APR_ARRAY_PUSH(new_entries, const char *) = dir;
>        url = temp;
>
> I'm not sure exactly how the pool management is supposed to work here.

That patch is against r1327801 but it also applies to HEAD.  This
patch to HEAD also fixes it:


Index: subversion/libsvn_client/commit.c
===================================================================
--- subversion/libsvn_client/commit.c   (revision 1329331)
+++ subversion/libsvn_client/commit.c   (working copy)
@@ -968,6 +968,7 @@
                     ctx, iterpool)))
     {
       svn_error_clear(editor->abort_edit(edit_baton, iterpool));
+      svn_pool_destroy(iterpool);
       return svn_error_trace(err);
     }
 
as does this:


Index: subversion/libsvn_client/commit.c
===================================================================
--- subversion/libsvn_client/commit.c   (revision 1329331)
+++ subversion/libsvn_client/commit.c   (working copy)
@@ -965,7 +965,7 @@
                     depth, excludes, no_ignore,
                     ignore_unknown_node_types,
                     filter_callback, filter_baton,
-                    ctx, iterpool)))
+                    ctx, scratch_pool)))
     {
       svn_error_clear(editor->abort_edit(edit_baton, iterpool));
       return svn_error_trace(err);


-- 
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com

Reply via email to