You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2016/06/15 08:01:06 UTC

svn commit: r1748514 - /subversion/trunk/subversion/libsvn_wc/conflicts.c

Author: stsp
Date: Wed Jun 15 08:01:06 2016
New Revision: 1748514

URL: http://svn.apache.org/viewvc?rev=1748514&view=rev
Log:
Fix a crash in 'svn resolve' (also affects 1.9.x).

* subversion/libsvn_wc/conflicts.c
  (build_text_conflict_resolve_items): Before creating a merged version of a
   file for 'theirs-conflict' or 'mine-conflict' resolution, verify that all
   the necessary input files are actually available.

Found by: Gustavo Chaves <gu...@gnustavo.com>
http://mail-archives.apache.org/mod_mbox/subversion-users/201606.mbox/%3CCAPx58qrVC%3Dbtr_z7nf9%2Bor5eaY4eNs7YFWZOzJR3SiBLY5qrvA%40mail.gmail.com%3E

Modified:
    subversion/trunk/subversion/libsvn_wc/conflicts.c

Modified: subversion/trunk/subversion/libsvn_wc/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/conflicts.c?rev=1748514&r1=1748513&r2=1748514&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_wc/conflicts.c Wed Jun 15 08:01:06 2016
@@ -1633,6 +1633,15 @@ build_text_conflict_resolve_items(svn_sk
                 ? svn_diff_conflict_display_latest
                 : svn_diff_conflict_display_modified;
 
+          if (mine_abspath == NULL)
+            return svn_error_createf(SVN_ERR_WC_CONFLICT_RESOLVER_FAILURE, NULL,
+                                     _("Conflict on '%s' cannot be resolved to "
+                                       "'theirs-conflict' or 'mine-conflict' "
+                                       "because a merged version of the file "
+                                       "cannot be created."),
+                                     svn_dirent_local_style(local_abspath,
+                                                            scratch_pool));
+
           SVN_ERR(merge_showing_conflicts(&install_from_abspath,
                                           db, local_abspath,
                                           style, merge_options,