From: Wouter Verhelst Date: Sat, 12 Feb 2011 18:50:29 +0000 (+0100) Subject: Assign a value to serve when using modern protocol X-Git-Url: http://git.alex.org.uk Assign a value to serve when using modern protocol We dereference this pointer later on, so need to make sure it's actually valid. As an added precaution, initialize it to NULL, so that we catch any further incorrect dereferences, too. --- diff --git a/nbd-server.c b/nbd-server.c index edb3eee..ec5b84f 100644 --- a/nbd-server.c +++ b/nbd-server.c @@ -1745,7 +1745,7 @@ int serveloop(GArray* servers) { memcpy(&rset, &mset, sizeof(fd_set)); if(select(max+1, &rset, NULL, NULL, NULL)>0) { int net = 0; - SERVER* serve; + SERVER* serve=NULL; DEBUG("accept, "); if(FD_ISSET(modernsock, &rset)) { @@ -1757,6 +1757,7 @@ int serveloop(GArray* servers) { close(net); net=0; } + serve = client->server; } for(i=0;ilen && !net;i++) { serve=&(g_array_index(servers, SERVER, i));