X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fdiscovery.c;fp=src%2Fdiscovery.c;h=2ac69b36fd07580a8369fdbcda7b5cd60b63e3da;hb=2b696ea05e1f519bb37bed5577da9fcd860ece1b;hp=e144c286cbafcefac637b2bbeff50b5e3fa06be7;hpb=ccc966b3940fa33216c6a02582a6ffc6267b7729;p=meshlink diff --git a/src/discovery.c b/src/discovery.c index e144c286..2ac69b36 100644 --- a/src/discovery.c +++ b/src/discovery.c @@ -418,7 +418,14 @@ static void *discovery_loop(void *userdata) { /* Allocate a new server */ int error; - mesh->catta_server = catta_server_new(catta_simple_poll_get(mesh->catta_poll), &config, discovery_server_callback, mesh, &error); + const CattaPoll *poller = catta_simple_poll_get(mesh->catta_poll); + + if(!poller) { + logger(mesh, MESHLINK_ERROR, "Failed to create discovery server: %s\n", catta_strerror(error)); + goto fail; + } + + mesh->catta_server = catta_server_new(poller, &config, discovery_server_callback, mesh, &error); /* Free the configuration data */ catta_server_config_free(&config);