X-Git-Url: http://git.code-monkey.de/?p=umurmur.git;a=blobdiff_plain;f=src%2Fserver.c;h=a56f7b857bf7236cb1e1bbc6a63551b4727799d2;hp=8aa356c58c2f0df6e69f580f947e8137dd4183c7;hb=a1a0ba19a94a1bfe3c40629aa9c5f3a4b23db3ee;hpb=82e80f8f18cbb6fed903621751ba9751dc2b80a2 diff --git a/src/server.c b/src/server.c index 8aa356c..a56f7b8 100644 --- a/src/server.c +++ b/src/server.c @@ -44,6 +44,7 @@ #include "client.h" #include "conf.h" #include "log.h" +#include "memory.h" #include "timer.h" #include "version.h" #include "util.h" @@ -94,18 +95,11 @@ void checkIPversions() /* Initialize the address structures for IPv4 and IPv6 */ struct sockaddr_storage** Server_setupAddressesAndPorts() { - struct sockaddr_storage** addresses = calloc(2, sizeof(void*)); - if(!addresses) - Log_fatal("Not enough memory to allocate addresses"); + struct sockaddr_storage** addresses = Memory_safeCalloc(2, sizeof(void*)); - struct sockaddr_storage* v4address = calloc(1, sizeof(struct sockaddr_storage)); - if(!v4address) - Log_fatal("Not enough memory to allocate IPv4 address"); + struct sockaddr_storage* v4address = Memory_safeCalloc(1, sizeof(struct sockaddr_storage)); v4address->ss_family = AF_INET; - - struct sockaddr_storage* v6address = calloc(1, sizeof(struct sockaddr_storage)); - if(!v6address) - Log_fatal("Not enough memory to allocate IPv6 address"); + struct sockaddr_storage* v6address = Memory_safeCalloc(1, sizeof(struct sockaddr_storage)); v6address->ss_family = AF_INET6; #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__) @@ -268,8 +262,7 @@ void Server_setupUDPSockets(struct sockaddr_storage* addresses[2], struct pollfd int val = 0; int sockets[2] = {-1, -1}; - if((udpsocks = calloc(nofServerSocks / 2, sizeof(int))) == NULL) - Log_fatal("Out of memory (%s:%s)", __FILE__, __LINE__); + udpsocks = Memory_safeCalloc(nofServerSocks / 2, sizeof(int)) if (hasv4) { sockets[0] = socket(PF_INET, SOCK_DGRAM, 0); @@ -322,8 +315,7 @@ void Server_run() checkIPversions(); /* max clients + server sokets + client connecting that will be disconnected */ - if ((pollfds = calloc((getIntConf(MAX_CLIENTS) + nofServerSocks + 1) , sizeof(struct pollfd))) == NULL) - Log_fatal("out of memory"); + pollfds = Memory_safeCalloc((getIntConf(MAX_CLIENTS) + nofServerSocks + 1) , sizeof(struct pollfd)) /* Figure out bind address and port */ struct sockaddr_storage** addresses = Server_setupAddressesAndPorts();