fix more leaks
[oweals/gnunet.git] / src / transport / plugin_transport_http_common.c
index 6031d09477164b762c4ad12e118d5186393c8658..569a4725596899e9e91c44f92011f2b7802b3440 100644 (file)
@@ -23,9 +23,8 @@
  * @brief functionality shared by http client and server transport service plugin
  * @author Matthias Wachs
  */
-
 #include "platform.h"
-#include "gnunet_common.h"
+#include "gnunet_util_lib.h"
 #include "gnunet_transport_plugin.h"
 #include "plugin_transport_http_common.h"
 
@@ -37,16 +36,17 @@ struct SplittedHTTPAddress
        int port;
 };
 
+
 static void
 http_clean_splitted (struct SplittedHTTPAddress *spa)
 {
-       if (NULL != spa)
-       {
-                       GNUNET_free_non_null (spa->protocol);
-                       GNUNET_free_non_null (spa->host);
-                       GNUNET_free_non_null (spa->path);
-                       GNUNET_free_non_null (spa);
-       }
+  if (NULL != spa)
+  {
+    GNUNET_free_non_null (spa->protocol);
+    GNUNET_free_non_null (spa->host);
+    GNUNET_free_non_null (spa->path);
+    GNUNET_free_non_null (spa);
+  }
 }
 
 struct SplittedHTTPAddress *
@@ -266,18 +266,18 @@ http_common_plugin_address_to_string (void *cls, char *plugin, const void *addr,
   const char * addr_str;
   char *res;
 
+  GNUNET_assert (NULL != plugin);
 
   if (NULL == addr)
       return NULL;
-  if (0 >= addrlen)
-    return NULL;
+  if (0 == addrlen)
+    return TRANSPORT_SESSION_INBOUND_STRING;
   if (addrlen != http_common_address_get_size (address))
        return NULL;
   addr_str = (char *) &address[1];
 
   if (addr_str[ntohl(address->urlen) -1] != '\0')
     return NULL;
-
   GNUNET_asprintf (&res, "%s.%u.%s", plugin, ntohl(address->options), &address[1]);
   if (strlen(res) + 1 < 500)
   {
@@ -320,7 +320,6 @@ http_common_plugin_string_to_address (void *cls,
   address = NULL;
   plugin = NULL;
   optionstr = NULL;
-  options = 0;
   if ((NULL == addr) || (addrlen == 0))
   {
     GNUNET_break (0);
@@ -346,7 +345,7 @@ http_common_plugin_string_to_address (void *cls,
   }
   optionstr[0] = '\0';
   optionstr ++;
-  options = atol (optionstr);
+  options = atol (optionstr); /* 0 on conversion error, that's ok */
   address = strchr (optionstr, '.');
   if (NULL == address)
   {