From d598bb221f96d5d5e9d8dfa03a5d2099016ec3b9 Mon Sep 17 00:00:00 2001 From: pk910 Date: Fri, 23 Dec 2011 02:06:20 +0100 Subject: [PATCH] fixed small crash bug in ClientSocket.c:socket_loop --- src/ClientSocket.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ClientSocket.c b/src/ClientSocket.c index 16ad26d..6b8b4fb 100644 --- a/src/ClientSocket.c +++ b/src/ClientSocket.c @@ -353,7 +353,7 @@ void socket_loop(int timeout_seconds) { if(sockets == NULL) return; fd_set fds; struct timeval timeout; - struct ClientSocket *sock; + struct ClientSocket *sock, *next; int ret = 0, bytes, i; FD_ZERO(&fds); @@ -367,7 +367,8 @@ void socket_loop(int timeout_seconds) { timeout.tv_usec = 0; ret = select(ret + 1, &fds, NULL, NULL, &timeout); if(ret == 0) return; - for (sock = sockets->data; sock; sock = sock->next) { + for (sock = sockets->data; sock; sock = next) { + next = sock->next; if((sock->flags & SOCKET_FLAG_CONNECTED) && FD_ISSET(sock->sock, &fds)) { if(sock->bufferpos != 0) { if(!(sock->flags & SOCKET_FLAG_HAVE_SSL) || (bytes = ssl_read(sock, buffer, sizeof(buffer))) == -2) { -- 2.20.1