[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

crash resolving conflict

From: Stefan Kueng <tortoisesvn_at_gmail.com>
Date: Thu, 2 May 2019 19:29:22 +0200

Hi,

Crashreports for TSVN show a problem in the
svn_client_conflict_tree_get_details() API.

The data passed to the API is correct, already checked that.

Here's the stack trace:
          libsvn_tsvn.dll!uri_escape(const char * path, const char * table,
apr_pool_t * pool) Line 920 C
          libsvn_tsvn.dll!svn_path_url_add_component2(const char * url, const
char * component, apr_pool_t * pool) Line 1096 C
 
libsvn_tsvn.dll!conflict_tree_get_details_local_missing(svn_client_conflict_t
* conflict, svn_client_ctx_t * ctx, apr_pool_t * scratch_pool) Line 2860 C
>
libsvn_tsvn.dll!svn_client_conflict_tree_get_details(svn_client_conflict_t
* conflict, svn_client_ctx_t * ctx, apr_pool_t * scratch_pool) Line 12679 C

The problem appears to be in conflict_tree_get_details_local_missing():
   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));

   /* Set END_REV to our best guess of the nearest YCA revision. */
   url = svn_path_url_add_component2(repos_root_url, related_repos_relpath,
                                     scratch_pool);

The 'if (related_repos_relpath != NULL...' part indicates that
related_repos_relpath can be NULL (which according to the crash dump it
is), which makes the call to svn_path_url_add_component2() crash, since
this calls svn_path_join_internal() which again doesn't work with null
strings.

Crash data available from here:
https://drdump.com/Problem.aspx?ProblemID=478573
(if you forgot the logins send me a PM).
symbol server url is
http://www.drdump.com:8080/public/tsvn/71040F62-F78A-4953-B5B3-5C148349FED7/symsrv

Stefan
Received on 2019-05-02 19:29:35 CEST

This is an archived mail posted to the Subversion Dev mailing list.