Ben Reser <b...@reser.org> writes:

> I'm inclined to take a more conservative approach.  The following patch
> should fix most of this problem on 1.8.x without pulling the new XML
> parsing implementation onto 1.8.x.
>
> [[[
> Index: subversion/libsvn_ra_serf/replay.c
> ===================================================================
> --- subversion/libsvn_ra_serf/replay.c        (revision 1513303)
> +++ subversion/libsvn_ra_serf/replay.c        (working copy)
> @@ -147,10 +147,16 @@
>        state == OPEN_FILE || state == ADD_FILE)
>      {
>        replay_info_t *info;
> +      apr_pool_t *pool;
>
> -      info = apr_palloc(replay_ctx->dst_rev_pool, sizeof(*info));
> +      if (state == OPEN_FILE || state == ADD_FILE)
> +        pool = replay_ctx->file_pool;
> +      else
> +        pool = replay_ctx->dst_rev_pool;
>
> -      info->pool = replay_ctx->dst_rev_pool;
> +      info = apr_palloc(pool, sizeof(*info));
> +
> +      info->pool = pool;
>        info->parent = parser->state->private;
>        info->baton = NULL;
>        info->stream = NULL;

I've tested this by running syncs under valgrind, including the first 75
revisions of the chromium repository, and it doesn't trigger any
warnings.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

Reply via email to