From c7a79fafa3fdaf3c6c33ad50f0a13f3890b2da08 Mon Sep 17 00:00:00 2001 From: Joel Grunbaum <joelgrun@gmail.com> Date: Sun, 18 Oct 2020 12:27:31 +0000 Subject: [PATCH] fixed memory leaks --- dns.c | 24 +++++++++++++++++++++--- 1 files changed, 21 insertions(+), 3 deletions(-) diff --git a/dns.c b/dns.c index bfe157d..042902b 100644 --- a/dns.c +++ b/dns.c @@ -192,6 +192,7 @@ } else if (ntohs(answers[i].resource.type) == T_CNAME) { //CNAME printf("has alias: %s", answers[i].rdata); } + free(answers[i].name); free(answers[i].rdata); putc('\n', stdout); } @@ -199,16 +200,33 @@ //print authorities printf("Auth recs: %d\n", ntohs(dns->auth_count)); for (i = 0; i < ntohs(dns->auth_count); i++) { - printf("name: %s ", addit[i].name); - if (ntohs(addit[i].resource.type) == 1) { + printf("name: %s ", auth[i].name); + if (ntohs(auth[i].resource.type) == 1) { long* p; - p = (long*)addit[i].rdata; + p = (long*)auth[i].rdata; a.sin_addr.s_addr = *p; printf("has IPv4 address: %s", inet_ntoa(a.sin_addr)); } + free(answers[i].name); free(auth[i].rdata); putc('\n', stdout); } + + printf("Addit recs: %d\n", ntohs(dns->add_count)); + for (i = 0; i < ntohs(dns->add_count); i++) { + printf("name; %s", addit[i].name); + if (ntohs(auth[i].resource.type) == 1) { + long *p; + p = (long*)addit[i].rdata; + a.sin_addr.s_addr = *p; + printf("has IPv4 address: %s", inet_ntoa(a.sin_addr)); + } else { + printf("has %s", addit[i].rdata); + } + free(answers[i].name); + free(addit[i].rdata); + putc('\n', stdout); + } } -- Gitblit v1.10.0