diff options
Diffstat (limited to 'dns.c')
-rw-r--r-- | dns.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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++; |