gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r24052 - gnunet/src/gns


From: gnunet
Subject: [GNUnet-SVN] r24052 - gnunet/src/gns
Date: Thu, 27 Sep 2012 15:02:21 +0200

Author: grothoff
Date: 2012-09-27 15:02:21 +0200 (Thu, 27 Sep 2012)
New Revision: 24052

Modified:
   gnunet/src/gns/gnunet-dns2gns.c
   gnunet/src/gns/gnunet-service-gns_resolver.c
Log:
-use new cancel API, fix use after free

Modified: gnunet/src/gns/gnunet-dns2gns.c
===================================================================
--- gnunet/src/gns/gnunet-dns2gns.c     2012-09-27 13:02:06 UTC (rev 24051)
+++ gnunet/src/gns/gnunet-dns2gns.c     2012-09-27 13:02:21 UTC (rev 24052)
@@ -217,6 +217,8 @@
     GNUNET_DNSPARSER_free_packet (request->packet);
   if (NULL != request->lookup)
     GNUNET_GNS_cancel_lookup_request (request->lookup);
+  if (NULL != request->dns_lookup)
+    GNUNET_DNSSTUB_resolve_cancel (request->dns_lookup);
   GNUNET_free (request);
 }
 
@@ -237,10 +239,12 @@
                   size_t r)
 {
   struct Request *request = cls;
+
   request->packet = GNUNET_DNSPARSER_parse ((char*)dns, r);
   send_response (request);
 }
 
+
 /**
  * Iterator called on obtained result for a GNS
  * lookup

Modified: gnunet/src/gns/gnunet-service-gns_resolver.c
===================================================================
--- gnunet/src/gns/gnunet-service-gns_resolver.c        2012-09-27 13:02:06 UTC 
(rev 24051)
+++ gnunet/src/gns/gnunet-service-gns_resolver.c        2012-09-27 13:02:21 UTC 
(rev 24052)
@@ -4186,9 +4186,9 @@
   else
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Unknown TLD in %s\n", name);
+    GNUNET_CONTAINER_DLL_remove (nsh_head, nsh_tail, rh);
     GNUNET_free (rh);
     GNUNET_free (nsh);
-    GNUNET_CONTAINER_DLL_remove (nsh_head, nsh_tail, rh);
     proc (proc_cls, name);
     return;
   }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]