diff --git a/kernel/server.c b/kernel/server.c index e25e12db..7427869e 100644 --- a/kernel/server.c +++ b/kernel/server.c @@ -152,6 +152,12 @@ int server_init(Server* srv, unsigned short Port, unsigned int dwMaxConnections) srv->ConnectionsAddr =(struct sockaddr_in*) kmalloc(sizeof(struct sockaddr_in)*dwMaxConnections); srv->bThreads = (tid_t*)kmalloc(sizeof(tid_t)*dwMaxConnections); + if (!srv->sConnections || !srv->ConnectionsAddr || !srv->bThreads) + { + kprintf("low on mem"); + return -1; + } + srv->dwMaximumConnections=dwMaxConnections; memset(srv->sConnections,0xFF,sizeof(SOCKET)*dwMaxConnections);