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;