summaryrefslogtreecommitdiffstats
path: root/dns.c
diff options
context:
space:
mode:
Diffstat (limited to 'dns.c')
-rw-r--r--dns.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/dns.c b/dns.c
index 97ea778..8646339 100644
--- a/dns.c
+++ b/dns.c
@@ -106,6 +106,8 @@ static void dns_default_log_handler (void * const u __attribute__((unused)),
}
struct dns * dns_init (void) {
struct dns * dns = calloc(1, sizeof(struct dns));
+ if (!dns)
+ return NULL;
dns->fd = -1;
dns->domain = strdup(" call dns_set_domain to set the domain");
dns->domain[0] = strlen(dns->domain)-1;
@@ -217,12 +219,14 @@ static void dns_run_once (struct dns * dns) {
dns->log_handler(dns->log_userdata, DNS_ERROR, "dns", buf);
}
static void dns_free (struct dns * dns) {
+ if (!dns)
+ return;
if (dns->fd != -1)
close (dns->fd);
free(dns->domain);
free(dns);
}
-#if __INCLUDE_LEVEL__ == 0
+#if IX_DNS_MAIN
int shouldexit = 0;
void handler (int signal __attribute__((unused))) {
shouldexit++;