bug-cvs
[Top][All Lists]
Advanced

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

patch: under Windows, cvs status reports "memory exhausted"


From: Chris Bohn
Subject: patch: under Windows, cvs status reports "memory exhausted"
Date: Thu, 25 Mar 2004 14:18:55 -0500
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040113

in cvs 1.12.6 client/server mode

This is also tracked in issue 168:
http://ccvs.cvshome.org/issues/show_bug.cgi?id=168

I wanted to submit the patch to this list as well because that is the way suggested in HACKING. See the issue for full details, but the patch is also pasted below. I really think this should be in the next release since Windows users can't run correctly without it. The root problem is in subr.c, but the problem affects nearly all subcommands because the problem code is hit in send_file_names, which is called for nearly everything.

There is a whole testing framework for unix, but there is nothing for Windows. I think if there was any for Windows, this would have been caught because doing a simple cvs status with a file name argument exposes the problem. I realize many of the developers of cvs do their work on unix, but if Windows is going to be supported, then some type of regression testing framework should probably be made for it too, especially now with different code paths because of the case sensitivity changes (where this bug was located).

Chris


NEWS entry:
* 'cvs status' now works on Windows and no longer gives a memory exhausted error (under client/server mode)

Log entry:
2004-03-24      Chris Bohn      <address@hidden>

* subr.c (expand_string): fixed to have new implementation match more that of the old implementation (realloc to newsize, set current size passed in to the new size)

[D:\temp\ccvs\src]cvs diff -r cvs1-12-6 subr.c
Index: subr.c
===================================================================
RCS file: /cvs/ccvs/src/subr.c,v
retrieving revision 1.103
diff -r1.103 subr.c
36,37c36,40
<     while (*n < newsize)
<       *strptr = x2realloc (*strptr, n);
---
>     if (*n < newsize)
>     {
>        *strptr = x2realloc (*strptr, &newsize);
>        *n = newsize;
>     }





reply via email to

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