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

Reply via email to