fixing resource leaks
[oweals/gnunet.git] / src / ats / gnunet-service-ats_addresses.c
index 13bd656d455b2e2e7b9501ba01bc0fd2eb1d5282..406acf6147430f1c9a4c1dfe48949e2ac108eb47 100644 (file)
@@ -472,6 +472,7 @@ free_address (struct ATS_Address *addr)
  * @param plugin_name plugin
  * @param plugin_addr address
  * @param plugin_addr_len address length
+ * @param local_address_info additional local info for the address
  * @param session_id session
  * @return the ATS_Address
  */
@@ -641,6 +642,7 @@ find_equivalent_address (struct GAS_Addresses_Handle *handle,
  * @param plugin_name transport plugin name
  * @param plugin_addr plugin address
  * @param plugin_addr_len length of the plugin address
+ * @param local_address_info the local address for the address
  * @param session_id session id, can be 0
  * @return an ATS_address or NULL
  */
@@ -730,6 +732,7 @@ get_performance_info (struct ATS_Address *address, uint32_t type)
  * @param plugin_name transport plugin name
  * @param plugin_addr plugin address
  * @param plugin_addr_len length of the plugin address
+ * @param local_address_info the local address for the address
  * @param session_id session id, can be 0
  * @param atsi performance information for this address
  * @param atsi_count number of performance information contained
@@ -899,6 +902,7 @@ GAS_addresses_add (struct GAS_Addresses_Handle *handle,
  * @param plugin_name transport plugin name
  * @param plugin_addr plugin address
  * @param plugin_addr_len length of the plugin address
+ * @param local_address_info the local address for the address
  * @param session_id session id, can be 0
  * @param atsi performance information for this address
  * @param atsi_count number of performance information contained
@@ -1053,8 +1057,8 @@ destroy_by_session_id (void *cls,
       GNUNET_break(0);
       return GNUNET_OK;
     }
-
-    if (aa->addr_len == 0)
+    if (GNUNET_HELLO_ADDRESS_INFO_INBOUND ==
+        (aa->local_address_info && GNUNET_HELLO_ADDRESS_INFO_INBOUND))
     {
       /* Inbound connection died, delete full address */
       GNUNET_log(GNUNET_ERROR_TYPE_INFO,
@@ -1095,6 +1099,7 @@ destroy_by_session_id (void *cls,
  * @param plugin_name transport plugin name
  * @param plugin_addr plugin address
  * @param plugin_addr_len length of the plugin address
+ * @param local_address_info the local address for the address
  * @param session_id session id, can be 0
  */
 void
@@ -1154,6 +1159,7 @@ GAS_addresses_destroy (struct GAS_Addresses_Handle *handle,
  * @param plugin_name transport plugin name
  * @param plugin_addr plugin address
  * @param plugin_addr_len length of the plugin address
+ * @param local_address_info the local address for the address
  * @param session_id session id, can be 0
  * @param in_use GNUNET_YES if GNUNET_NO
  * @return GNUNET_SYSERR on failure (address unknown ...)