[cvsnt] bug in cvsapi/unix/SocketIO.cpp in 2.5.02.2114
William Lott
cvsntmail at wlott.org
Sun Oct 9 02:05:11 BST 2005
I recently set out to move my CVSNT server and repository from the WinXP
machine they have been on for several years to a Linux (Fedora Core 4 --
not that it matters) machine. But the lock server from both the
precompiled .rpm and compiling it myself crashes with a seg fault at
startup. Turns out that CSocketIO::select in cvsapi/unix/SocketIO.cpp
is trying to use "n" for two different variables in the same scope. I
could be wrong, but I'm pretty sure you can't do that. :-)
-William Lott
cvsntmail at wlott.org
--- SocketIO.cpp.~1.1.2.22.~ 2005-10-02 08:37:59.000000000 -0700
+++ SocketIO.cpp 2005-10-08 17:34:39.000000000 -0700
@@ -323,13 +323,13 @@
continue;
socks[n]->m_accepted_sock.clear();
- for(size_t n=0; n<socks[n]->m_sockets.size(); n++)
+ for(size_t j=0; j<socks[n]->m_sockets.size(); j++)
{
- if(socks[n]->m_sockets[n]==-1)
+ if(socks[n]->m_sockets[j]==-1)
continue;
- FD_SET(socks[n]->m_sockets[n],&rfd);
- if(socks[n]->m_sockets[n]>maxdesc)
- maxdesc=socks[n]->m_sockets[n];
+ FD_SET(socks[n]->m_sockets[j],&rfd);
+ if(socks[n]->m_sockets[j]>maxdesc)
+ maxdesc=socks[n]->m_sockets[j];
}
}
@@ -340,7 +340,7 @@
for(size_t n=0; n<count; n++)
{
- for(size_t j=0; n<socks[n]->m_sockets.size(); j++)
+ for(size_t j=0; j<socks[n]->m_sockets.size(); j++)
{
if(socks[n]->m_sockets[j]==-1)
continue;
More information about the cvsnt
mailing list