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
@@ -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

Reply via email to