svn commit: r1927163 - in /subversion/branches/1.14.x: ./ STATUS subversion/libsvn_client/conflicts.c

[email protected]
Newsgroups gmane.comp.version-control.subversion.svn
Message-ID <[email protected]>
Author: svn-role
Date: Sun Jul 13 04:00:06 2025
New Revision: 1927163

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

* r1892118
  Fix a NULL pointer dereference in the conflict resolver.
  Justification:
    1.14.5 users are running into this crash.
  Votes:
   +1: stsp, rinrab

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

Propchange: subversion/branches/1.14.x/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1892118

Modified: subversion/branches/1.14.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1927163&r1=1927162&r2=1927163&view=diff
==============================================================================
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Sun Jul 13 04:00:06 2025
@@ -35,11 +35,3 @@ Veto-blocked changes:
 
 Approved changes:
 =================
-
-* r1892118
-  Fix a NULL pointer dereference in the conflict resolver.
-  Justification:
-    1.14.5 users are running into this crash.
-  Votes:
-   +1: stsp, rinrab
-

Modified: subversion/branches/1.14.x/subversion/libsvn_client/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/libsvn_client/conflicts.c?rev=1927163&r1=1927162&r2=1927163&view=diff
==============================================================================
--- subversion/branches/1.14.x/subversion/libsvn_client/conflicts.c (original)
+++ subversion/branches/1.14.x/subversion/libsvn_client/conflicts.c Sun Jul 13 04:00:06 2025
@@ -2847,12 +2847,26 @@ conflict_tree_get_details_local_missing(
   /* Make sure we're going to search the related node in a revision where
    * it exists. The younger incoming node might have been deleted in HEAD. */
   if (related_repos_relpath != NULL && related_peg_rev != SVN_INVALID_REVNUM)
-    SVN_ERR(find_related_node(
-              &related_repos_relpath, &related_peg_rev,
-              related_repos_relpath, related_peg_rev,
-              (old_rev < new_rev ? old_repos_relpath : new_repos_relpath),
-              (old_rev < new_rev ? old_rev : new_rev),
-              conflict, ctx, scratch_pool, scratch_pool));
+    {
+      const char *older_related_repos_relpath;
+      svn_revnum_t older_related_peg_rev;
+      SVN_ERR(find_related_node(
+                &older_related_repos_relpath, &older_related_peg_rev,
+                related_repos_relpath, related_peg_rev,
+                (old_rev < new_rev ? old_repos_relpath : new_repos_relpath),
+                (old_rev < new_rev ? old_rev : new_rev),
+                conflict, ctx, scratch_pool, scratch_pool));
+      if (older_related_repos_relpath != NULL &&
+          older_related_peg_rev != SVN_INVALID_REVNUM)
+        {
+          related_repos_relpath = older_related_repos_relpath;
+          related_peg_rev = older_related_peg_rev;
+        }
+    }
+
+  /* Bail if we are unable to find the related node. */
+  if (related_repos_relpath == NULL || related_peg_rev == SVN_INVALID_REVNUM)
+    return SVN_NO_ERROR;
 
   /* Set END_REV to our best guess of the nearest YCA revision. */
   url = svn_path_url_add_component2(repos_root_url, related_repos_relpath,
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.