Make sure Windows ResultSet is free'd when dn_comp failed internally
---
 winsup/cygwin/libc/minires-os-if.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/winsup/cygwin/libc/minires-os-if.c 
b/winsup/cygwin/libc/minires-os-if.c
index 5da1c0c55..c6fde776a 100644
--- a/winsup/cygwin/libc/minires-os-if.c
+++ b/winsup/cygwin/libc/minires-os-if.c
@@ -246,8 +246,7 @@ static int cygwin_query(res_state statp, const char * 
DomName, int Class, int Ty
       statp->res_h_errno = NO_RECOVERY;
       break;
     }
-    len = -1;
-    goto done;
+    return -1;
   }
 
   ptr = AnsPtr + HFIXEDSZ; /* Skip header */
@@ -293,10 +292,12 @@ static int cygwin_query(res_state statp, const char * 
DomName, int Class, int Ty
     rr = rr->pNext;
   }
 
-  DnsFree(pQueryResultsSet, DnsFreeRecordList);
-
   len = ptr - AnsPtr;
+
 done:
+
+  DnsFree(pQueryResultsSet, DnsFreeRecordList);
+
   if (HFIXEDSZ <= AnsLength) {
     ptr = AnsPtr;
     PUTSHORT(Id, ptr);
-- 
2.33.0

  • [PATCH] Cygwin: re... Anton Lavrentiev via Cygwin-patches

Reply via email to