-fixes, leaks
authorMartin Schanzenbach <mschanzenbach@posteo.de>
Thu, 8 Mar 2012 16:38:20 +0000 (16:38 +0000)
committerMartin Schanzenbach <mschanzenbach@posteo.de>
Thu, 8 Mar 2012 16:38:20 +0000 (16:38 +0000)
src/gns/gnunet-service-gns.c

index 04d8291eddf3787ec9caa72aaa4d5f5086146928..923f4e8f0ef425c2d5326de95f0c98f544e73e99 100644 (file)
@@ -406,7 +406,10 @@ shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
     GNUNET_SCHEDULER_cancel(zone_update_taskid);
   
   GNUNET_SERVER_notification_context_destroy (nc);
-  GNUNET_DNS_disconnect(dns_handle);
+  
+  if (dns_handle)
+    GNUNET_DNS_disconnect(dns_handle);
+  
   GNUNET_NAMESTORE_disconnect(namestore_handle, 1);
   GNUNET_DHT_disconnect(dht_handle);
 }
@@ -2264,6 +2267,9 @@ reply_to_client(void* cls, struct GNUNET_GNS_ResolverHandle *rh,
                                 (const struct GNUNET_MessageHeader *) rmsg,
                                 GNUNET_NO);
   GNUNET_SERVER_receive_done (clh->client, GNUNET_OK);
+  
+  GNUNET_free(rh->proc_cls);
+  free_resolver_handle(rh);
   GNUNET_free(rmsg);
   GNUNET_free(clh->name);
   GNUNET_free(clh);
@@ -2405,7 +2411,9 @@ run (void *cls, struct GNUNET_SERVER_Handle *server,
   GNUNET_CRYPTO_hash(&pkey, sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded),
                      &zone_hash);
   GNUNET_free(keyfile);
+  
 
+  dns_handle = NULL;
   if (GNUNET_YES ==
       GNUNET_CONFIGURATION_get_value_yesno (c, "gns",
                                             "HIJACK_DNS"))