Bug in wire_read() of cvsgui_protocol\cvsgui_wire.cpp

"Arthur Barrett" <[email protected]> Tue, 18 Jul 2006 16:04:58 +1000
Newsgroups gmane.comp.version-control.cvs.gui.devel
Message-ID <[email protected]>
 
Hi all,
 
Think I've found the reason why processes don't always seem to terminate
properly when WinCVS is compiled with VS.NET 2003.
 
At the end of wire_read() in the source cvsgui_protocol/cvsgui_wire.cpp
there is this line to pass back to the caller how many bytes have been
read:
 rcount += totalcount;

rcount is a pointer to type gulong (more or less int I think).
 
The problem is that this statement actually increments the pointer, not
the contents of the pointer.  I think it is supposed to be:  
 
*rcount += totalcount;
 
The pointer rcount is passed all the way down from cvsgui_process.cpp
and ServeProtocol() which ends up in a loop because totalBytesAvail
never decreases.
 
HTH.
 
Arthur
 
 


[Non-text portions of this message have been removed]



------------------------ Yahoo! Groups Sponsor --------------------~--> 
Check out the new improvements in Yahoo! Groups email.
http://us.click.yahoo.com/6pRQfA/fOaOAA/yQLSAA/NhFolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/cvsgui-dev/

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/