You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Stefan Kueng <to...@gmail.com> on 2019/05/02 17:29:22 UTC

crash resolving conflict

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