You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by sv...@apache.org on 2018/01/31 04:00:14 UTC

svn commit: r1822734 - in /subversion/branches/1.10.x: ./ STATUS subversion/libsvn_client/conflicts.c

Author: svn-role
Date: Wed Jan 31 04:00:14 2018
New Revision: 1822734

URL: http://svn.apache.org/viewvc?rev=1822734&view=rev
Log:
Merge r1822401 from trunk:

 * r1822401
   Fix 'dereference pointer to the wrong object' crash in conflict resolver.
   Votes:
     +1: stsp, rhuijben, jamessan
   
Veto-blocked changes:
=====================

Modified:
    subversion/branches/1.10.x/   (props changed)
    subversion/branches/1.10.x/STATUS
    subversion/branches/1.10.x/subversion/libsvn_client/conflicts.c

Propchange: subversion/branches/1.10.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jan 31 04:00:14 2018
@@ -99,4 +99,4 @@
 /subversion/branches/verify-at-commit:1462039-1462408
 /subversion/branches/verify-keep-going:1439280-1546110
 /subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1817837,1817856,1818577-1818578,1818584,1818651,1818662,1818727,1818801,1818803,1818807,1818868,1818871,1819036-1819037,1819043,1819049,1819052,1819093,1819146,1819162,1819444,1819556-1819557,1819603,1819804,1819911,1820046-1820047,1820518,1820718,1821183,1821224,1821621,1821678
+/subversion/trunk:1817837,1817856,1818577-1818578,1818584,1818651,1818662,1818727,1818801,1818803,1818807,1818868,1818871,1819036-1819037,1819043,1819049,1819052,1819093,1819146,1819162,1819444,1819556-1819557,1819603,1819804,1819911,1820046-1820047,1820518,1820718,1821183,1821224,1821621,1821678,1822401

Modified: subversion/branches/1.10.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1822734&r1=1822733&r2=1822734&view=diff
==============================================================================
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Wed Jan 31 04:00:14 2018
@@ -44,6 +44,3 @@ Approved changes:
    Fix 'dereference pointer to the wrong object' crash in conflict resolver.
    Votes:
      +1: stsp, rhuijben, jamessan
-   
-Veto-blocked changes:
-=====================

Modified: subversion/branches/1.10.x/subversion/libsvn_client/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/subversion/libsvn_client/conflicts.c?rev=1822734&r1=1822733&r2=1822734&view=diff
==============================================================================
--- subversion/branches/1.10.x/subversion/libsvn_client/conflicts.c (original)
+++ subversion/branches/1.10.x/subversion/libsvn_client/conflicts.c Wed Jan 31 04:00:14 2018
@@ -9841,12 +9841,6 @@ configure_option_incoming_move_file_merg
   const char *incoming_new_repos_relpath;
   svn_revnum_t incoming_new_pegrev;
   svn_node_kind_t incoming_new_kind;
-  struct conflict_tree_incoming_delete_details *details;
-
-  details = conflict->tree_conflict_incoming_details;
-  if (details == NULL || details->moves == NULL)
-    return SVN_NO_ERROR;
-
   incoming_change = svn_client_conflict_get_incoming_change(conflict);
   victim_node_kind = svn_client_conflict_tree_get_victim_node_kind(conflict);
   SVN_ERR(svn_client_conflict_get_incoming_old_repos_location(
@@ -9863,8 +9857,13 @@ configure_option_incoming_move_file_merg
       incoming_new_kind == svn_node_none &&
       incoming_change == svn_wc_conflict_action_delete)
     {
+      struct conflict_tree_incoming_delete_details *details;
       const char *description;
 
+      details = conflict->tree_conflict_incoming_details;
+      if (details == NULL || details->moves == NULL)
+        return SVN_NO_ERROR;
+
       if (apr_hash_count(details->wc_move_targets) == 0)
         return SVN_NO_ERROR;
 
@@ -9899,11 +9898,6 @@ configure_option_incoming_dir_merge(svn_
   const char *incoming_new_repos_relpath;
   svn_revnum_t incoming_new_pegrev;
   svn_node_kind_t incoming_new_kind;
-  struct conflict_tree_incoming_delete_details *details;
-
-  details = conflict->tree_conflict_incoming_details;
-  if (details == NULL || details->moves == NULL)
-    return SVN_NO_ERROR;
 
   incoming_change = svn_client_conflict_get_incoming_change(conflict);
   victim_node_kind = svn_client_conflict_tree_get_victim_node_kind(conflict);
@@ -9921,8 +9915,13 @@ configure_option_incoming_dir_merge(svn_
       incoming_new_kind == svn_node_none &&
       incoming_change == svn_wc_conflict_action_delete)
     {
+      struct conflict_tree_incoming_delete_details *details;
       const char *description;
 
+      details = conflict->tree_conflict_incoming_details;
+      if (details == NULL || details->moves == NULL)
+        return SVN_NO_ERROR;
+
       if (apr_hash_count(details->wc_move_targets) == 0)
         return SVN_NO_ERROR;