projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
leak
[oweals/gnunet.git]
/
src
/
datastore
/
gnunet-service-datastore.c
diff --git
a/src/datastore/gnunet-service-datastore.c
b/src/datastore/gnunet-service-datastore.c
index f139998e909bb6f3eaa9256f3bdbf9c7e96ed27e..f80abef0653c54319135d371220cc06a14ebbde8 100644
(file)
--- a/
src/datastore/gnunet-service-datastore.c
+++ b/
src/datastore/gnunet-service-datastore.c
@@
-899,6
+899,7
@@
handle_get (void *cls,
"Empty result set for `%s' request.\n",
"GET");
#endif
"Empty result set for `%s' request.\n",
"GET");
#endif
+ GNUNET_SERVER_client_keep (client);
transmit_item (client,
NULL, NULL, 0, NULL, 0, 0, 0,
GNUNET_TIME_UNIT_ZERO_ABS, 0);
transmit_item (client,
NULL, NULL, 0, NULL, 0, 0, 0,
GNUNET_TIME_UNIT_ZERO_ABS, 0);
@@
-1069,7
+1070,6
@@
handle_remove (void *cls,
GNUNET_CRYPTO_hash (&dm[1],
ntohl(dm->size),
&vhash);
GNUNET_CRYPTO_hash (&dm[1],
ntohl(dm->size),
&vhash);
- GNUNET_SERVER_client_keep (client);
plugin->api->get (plugin->api->cls,
&dm->key,
&vhash,
plugin->api->get (plugin->api->cls,
&dm->key,
&vhash,
@@
-1195,6
+1195,11
@@
cleaning_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
unload_plugin (plugin);
plugin = NULL;
{
unload_plugin (plugin);
plugin = NULL;
+ if (filter != NULL)
+ {
+ GNUNET_CONTAINER_bloomfilter_free (filter);
+ filter = NULL;
+ }
}
}
@@
-1296,6
+1301,7
@@
run (void *cls,
if (NULL == plugin)
{
GNUNET_CONTAINER_bloomfilter_free (filter);
if (NULL == plugin)
{
GNUNET_CONTAINER_bloomfilter_free (filter);
+ filter = NULL;
return;
}
GNUNET_SERVER_disconnect_notify (server, &cleanup_reservations, NULL);
return;
}
GNUNET_SERVER_disconnect_notify (server, &cleanup_reservations, NULL);