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

Re: reparent bug in svnserve

From: David Glasser <glasser_at_mit.edu>
Date: 2006-11-26 16:28:40 CET

On 11/23/06, Alexander Sinyushkin <Alexander.Sinyushkin@svnkit.com> wrote:
> Hello, guys, seems that there's a bug in svnserve's 'reparent'
> behaviour. The point is that svnserve sends 'success' on a try to
> reparent to a different repository although documentation says the
> opposite. The problem appears because the 'get_fs_path' function in
> 'serve.c' checks only the first n bytes of two urls, where n - is
> the length of the old repos_root, but a new url may contain all the
> previous bytes as the old one does, however at the same time it may
> be not the same repository. For example:
> old_repos_url = "svn://localhost/svn-test-work/repositories/externals_tests-1"
> new_url = "svn://localhost/svn-test-work/repositories/externals_tests-1.other"
> This is what I noticed while running 'externals' python tests.

Good point, Alexander. What do you think the fix is -- checking to
see if the next character after the matching bit is '\0' or '/'? (Are
we guaranteed that it uses forward slashes in this part of the code?)

On the other hand, the situation in the other ra modules seems to be
even worse: none of the other three do any checks, and it looks like
the ra_local one could even manage to pass around pointers to
unallocated memory.


David Glasser | glasser_at_mit.edu | http://www.davidglasser.net/
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Nov 26 16:28:54 2006

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