[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r19785 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r19785 - gnunet/src/transport |
Date: |
Mon, 13 Feb 2012 16:05:43 +0100 |
Author: grothoff
Date: 2012-02-13 16:05:43 +0100 (Mon, 13 Feb 2012)
New Revision: 19785
Modified:
gnunet/src/transport/gnunet-service-transport_clients.c
Log:
-fixing leak of transmit context (cov 10128)
Modified: gnunet/src/transport/gnunet-service-transport_clients.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_clients.c 2012-02-13
15:02:27 UTC (rev 19784)
+++ gnunet/src/transport/gnunet-service-transport_clients.c 2012-02-13
15:05:43 UTC (rev 19785)
@@ -895,6 +895,16 @@
return;
}
msg = (struct AddressIterateMessage *) message;
+ if ( (GNUNET_YES != ntohl (msg->one_shot)) &&
+ (NULL != lookup_monitoring_client (client)) )
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
+ "ServerClient %p tried to start monitoring twice
(MonitoringClient %p)\n",
+ client, mc);
+ GNUNET_break (0);
+ GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
+ return;
+ }
GNUNET_SERVER_disable_receive_done_warning (client);
tc = GNUNET_SERVER_transmit_context_create (client);
if (0 == memcmp (&msg->peer, &all_zeros, sizeof (struct
GNUNET_PeerIdentity)))
@@ -910,24 +920,10 @@
output_address (tc, &msg->peer, NULL, 0, address);
}
if (GNUNET_YES != ntohl (msg->one_shot))
- {
- mc = lookup_monitoring_client (client);
- if (mc != NULL)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
- "ServerClient %p tried to start monitoring twice
(MonitoringClient %p)\n",
- client, mc);
- GNUNET_break (0);
- GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
- return;
- }
setup_monitoring_client (client, &msg->peer);
- }
else
- {
GNUNET_SERVER_transmit_context_append_data (tc, NULL, 0,
-
GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_ITERATE_RESPONSE);
- }
+
GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_ITERATE_RESPONSE);
GNUNET_SERVER_transmit_context_run (tc, GNUNET_TIME_UNIT_FOREVER_REL);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r19785 - gnunet/src/transport,
gnunet <=