bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: assertion failure in "cvs co" with /./ (CVS 1.12.13)


From: Derek R. Price
Subject: Re: assertion failure in "cvs co" with /./ (CVS 1.12.13)
Date: Sun, 27 Aug 2006 08:36:58 -0400
User-agent: Thunderbird 1.5.0.5 (Windows/20060719)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Yes.  That was just put in to make sure I wasn't adding any spurious
"."s into the path when I coded the stuff to get away from xgetwd to let
symlinked roots work.

Anyhow, I think that assertion has done its job and shouldn't be needed
anymore, so I am simply going to remove it.  I have a patch for this,
but I am putting off installing it until I finish a recent merge to the
trunk which is giving me trouble.

Derek


Mark D. Baushke wrote:
> Hi Paul,
> 
> Paul Eggert <eggert@CS.UCLA.EDU> writes:
> 
>> This is with CVS 1.12.13, which I built on Debian stable with GCC 4.1.1.
>>
>> Here's how to reproduce the failure:
>>
>> $ cvs -d :pserver:anonymous@cvs.savannah.gnu.org:/sources/gnulib co -p 
>> gnulib/./doc/fdl.texi
>> cvs [checkout aborted]: received abort signal
>> cvs: recurse.c:716: do_recursion: Assertion `strstr (repository, "/./") == 
>> ((void *)0)' failed.
> 
> Thank you for the bug report. It appears that the change first appeared
> in recurse revision 1.79 and was backported to cvs 1.11.x as well.
> 
> Here is the ChangeLog entry:
> 
> 2003-04-02  Derek Price  <derek@ximbiot.com>
> 
>       * recurse.c (do_recursion): Use strstr("/./") rather than strchr('.')
>       to catch only indirections in paths and not directory names with dots
>       in them.
>       (Report from Pavel Roskin <proski@gnu.org>.)
> 
>       * sanity.sh (multiroot): Put a dot in the CVSROOT_DIRNAMEs.
>       (dottedroot): New test.
>       (Based on a script from Pavel Roskin <proski@gnu.org>.)
> 
> A copy of Pavel's original report is after my .signature. Derek Price is
> the one who created the fix and may know if it should be handled in some
> other manner to avoid triggering security checks.
> 
>       Thanks!
>       -- Mark
> 
>  ------- original bug report -------
> Date: Wed, 2 Apr 2003 13:50:19 -0500 (EST)
> From: Pavel Roskin <proski@gnu.org>
> X-X-Sender: proski@marabou.research.att.com
> To: bug-cvs@gnu.org, Derek Price <derek@ximbiot.com>
> Subject: CVS CVS: Assertion failed on checkout
> 
> Hello!
> 
> Today's CVS crashes on checkout if CVSROOT has "." in its name:
> 
> cvs: recurse.c:652: do_recursion: Assertion `(__extension__
> (__builtin_constant_p ('.') && ('.') == '\0' ? (char *) __rawmemchr
> (repository, '.') : strchr (repository, '.'))) == ((void *)0)' failed.
> 
> Test case is attached.  Run it in an empty directory with any name.
> 


- --
Derek R. Price
CVS Solutions Architect
Get CVS support at Ximbiot <http://ximbiot.com>!
v: +1 248.835.1260
f: +1 248.835.1263
<mailto:derek@ximbiot.com>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFE8ZHqLD1OTBfyMaQRAkaPAKDb4E4Knxg+vsiMrJdp0w6ZF9MkIgCfWhrT
NaOIx4d5Qnpeq/McJpQqP/U=
=u22/
-----END PGP SIGNATURE-----





reply via email to

[Prev in Thread] Current Thread [Next in Thread]