[PATCH 1/2] s6dns_resolve_parse: always clean up dt, prevent fd leaking

From: Roman I Khimov <khimov_at_altell.ru>
Date: Thu, 11 Jun 2015 17:06:34 +0300

It was noted that with no servers in resolv.conf s6-dns always leaks an fd
after s6dns_resolve_parse_g() usage. I wasn't able to trace it deeper, but
always cleaning up in s6dns_resolve_parse() won't hurt.
---
 src/libs6dns/s6dns_resolve_parse.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/libs6dns/s6dns_resolve_parse.c b/src/libs6dns/s6dns_resolve_parse.c
index b00804f..065e8b1 100644
--- a/src/libs6dns/s6dns_resolve_parse.c
+++ b/src/libs6dns/s6dns_resolve_parse.c
_at_@ -10,8 +10,8 @@
 
 int s6dns_resolve_parse_r (s6dns_domain_t const *d, uint16 qtype, s6dns_message_rr_func_t_ref parsefunc, void *data, s6dns_engine_t *dt, s6dns_ip46list_t const *servers, s6dns_debughook_t const *dbh, tain_t const *deadline, tain_t *stamp)
 {
-  register int r ;
-  if (!s6dns_resolve_core_r(d, qtype, dt, servers, dbh, deadline, stamp)) return -1 ;
+  register int r = -1;
+  if (s6dns_resolve_core_r(d, qtype, dt, servers, dbh, deadline, stamp))
   {
     s6dns_message_header_t h ;
     r = s6dns_message_parse(&h, s6dns_engine_packet(dt), s6dns_engine_packetlen(dt), parsefunc, data) ;
-- 
2.1.4
Received on Thu Jun 11 2015 - 14:06:34 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:38:49 UTC