On 13.03.2014 13:53, i...@apache.org wrote: > Author: ivan > Date: Thu Mar 13 12:53:40 2014 > New Revision: 1577144 > > URL: http://svn.apache.org/r1577144 > Log: > Fix problem exposed by r1577079. > > * subversion/libsvn_ra/compat.c > (svn_ra__locations_from_log): Make a copy of constant apr_array_header_t > argument before sorting it.
[...] > @@ -337,10 +338,11 @@ svn_ra__locations_from_log(svn_ra_sessio > /* Figure out the youngest and oldest revs (amongst the set of > requested revisions + the peg revision) so we can avoid > unnecessary log parsing. */ > - svn_sort__array(location_revisions, compare_revisions); > - oldest_requested = APR_ARRAY_IDX(location_revisions, 0, svn_revnum_t); > - youngest_requested = APR_ARRAY_IDX(location_revisions, > - location_revisions->nelts - 1, > + sorted_location_revisions = apr_array_copy(pool, location_revisions); > + svn_sort__array(sorted_location_revisions, compare_revisions); > + oldest_requested = APR_ARRAY_IDX(sorted_location_revisions, 0, > svn_revnum_t); > + youngest_requested = APR_ARRAY_IDX(sorted_location_revisions, > + sorted_location_revisions->nelts - 1, > svn_revnum_t); > youngest = peg_revision; > youngest = (oldest_requested > youngest) ? oldest_requested : youngest; > @@ -352,7 +354,7 @@ svn_ra__locations_from_log(svn_ra_sessio > /* Populate most of our log receiver baton structure. */ > lrb.kind = kind; > lrb.last_path = fs_path; > - lrb.location_revisions = apr_array_copy(pool, location_revisions); > + lrb.location_revisions = apr_array_copy(pool, sorted_location_revisions); So now you've copied the array twice? -- Brane -- Branko Čibej | Director of Subversion WANdisco // Non-Stop Data e. br...@wandisco.com