From 37d1ba3860502e9105084a17405d67f0ed7e13d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Mon, 22 Mar 2010 15:29:31 +0000 Subject: check for NULL-pointer in destructor svn path=/trunk/externals/mrpeach/; revision=13238 --- net/tcpserver.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'net/tcpserver.c') diff --git a/net/tcpserver.c b/net/tcpserver.c index 1e63e3b..5272029 100644 --- a/net/tcpserver.c +++ b/net/tcpserver.c @@ -1028,12 +1028,15 @@ static void tcpserver_free(t_tcpserver *x) for(i = 0; i < MAX_CONNECT; i++) { - if (x->x_sr[i]->sr_fd >= 0) - { - sys_rmpollfn(x->x_sr[i]->sr_fd); - sys_closesocket(x->x_sr[i]->sr_fd); + + if (NULL!=x->x_sr[i]) { + tcpserver_socketreceiver_free(x->x_sr[i]); + if (x->x_sr[i]->sr_fd >= 0) + { + sys_rmpollfn(x->x_sr[i]->sr_fd); + sys_closesocket(x->x_sr[i]->sr_fd); + } } - if (x->x_sr[i] != NULL) tcpserver_socketreceiver_free(x->x_sr[i]); } if (x->x_connectsocket >= 0) { -- cgit v1.2.1