You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pb...@apache.org on 2013/03/15 19:27:34 UTC

svn commit: r1457046 - /subversion/trunk/subversion/libsvn_client/merge.c

Author: pburba
Date: Fri Mar 15 18:27:33 2013
New Revision: 1457046

URL: http://svn.apache.org/r1457046
Log:
Fix a segfault when performing an --ignore-ancestry file merge.

See http://svn.haxx.se/dev/archive-2013-03/0252.shtml

* subversion/libsvn_client/merge.c
  (do_file_merge): Initialize MERGE_TARGET outside of block which is
   dependent on mergetracking, as that local variable is referenced
   regardless of whether mergetracking is happening.

Modified:
    subversion/trunk/subversion/libsvn_client/merge.c

Modified: subversion/trunk/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge.c?rev=1457046&r1=1457045&r2=1457046&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Fri Mar 15 18:27:33 2013
@@ -7307,11 +7307,12 @@ do_file_merge(svn_mergeinfo_catalog_t re
   range.start = source->loc1->rev;
   range.end = source->loc2->rev;
   range.inheritable = TRUE;
+
+  merge_target = svn_client__merge_path_create(target_abspath, scratch_pool);
+
   if (honor_mergeinfo)
     {
       svn_error_t *err;
-      merge_target = svn_client__merge_path_create(target_abspath,
-                                                   scratch_pool);
 
       /* Fetch mergeinfo. */
       err = get_full_mergeinfo(&target_mergeinfo,