[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet] 01/04: Peerstore: Fixed memory related bugs.
From: |
gnunet |
Subject: |
[gnunet] 01/04: Peerstore: Fixed memory related bugs. |
Date: |
Mon, 30 Oct 2023 15:04:55 +0100 |
This is an automated email from the git hooks/post-receive script.
t3sserakt pushed a commit to branch master
in repository gnunet.
commit 2b87bab148e4af8888fb3446f623e76b247003bd
Author: t3sserakt <t3ss@posteo.de>
AuthorDate: Mon Oct 30 13:49:50 2023 +0100
Peerstore: Fixed memory related bugs.
---
src/service/hostlist/gnunet-daemon-hostlist_client.c | 3 +++
src/service/peerstore/peerstore_api.c | 5 ++++-
src/service/topology/gnunet-daemon-topology.c | 3 +++
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/service/hostlist/gnunet-daemon-hostlist_client.c
b/src/service/hostlist/gnunet-daemon-hostlist_client.c
index 5a61e62c2..bedc52612 100644
--- a/src/service/hostlist/gnunet-daemon-hostlist_client.c
+++ b/src/service/hostlist/gnunet-daemon-hostlist_client.c
@@ -332,6 +332,7 @@ shc_cont (void *cls, int success)
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Error storing hostlist entry!\n");
GNUNET_CONTAINER_DLL_remove (shc_head, shc_tail, shc_cls->shc);
+ GNUNET_free (shc_cls);
}
@@ -423,6 +424,8 @@ callback_download (void *ptr, size_t size, size_t nmemb,
void *ctx)
shc_cls->shc = shc;
GNUNET_CONTAINER_DLL_insert (shc_head, shc_tail, shc);
}
+ else
+ GNUNET_free (shc_cls);
memmove (download_buffer, &download_buffer[msize], download_pos - msize);
download_pos -= msize;
}
diff --git a/src/service/peerstore/peerstore_api.c
b/src/service/peerstore/peerstore_api.c
index d5cb091f9..e627e1e82 100644
--- a/src/service/peerstore/peerstore_api.c
+++ b/src/service/peerstore/peerstore_api.c
@@ -1150,6 +1150,7 @@ merge_success (void *cls, int success)
struct StoreHelloCls *shu_cls = cls;
struct GNUNET_PEERSTORE_StoreHelloContext *huc = shu_cls->huc;
+ GNUNET_CONTAINER_multipeermap_remove (huc->store_context_map, huc->pid,
shu_cls->sc);
if (GNUNET_OK != success)
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
@@ -1158,9 +1159,9 @@ merge_success (void *cls, int success)
GNUNET_free (huc->hello);
GNUNET_free (huc->pid);
GNUNET_free (huc);
+ GNUNET_free (shu_cls);
return;
}
- GNUNET_CONTAINER_multipeermap_remove (huc->store_context_map, huc->pid,
shu_cls->sc);
if (0 == GNUNET_CONTAINER_multipeermap_size (huc->store_context_map))
{
GNUNET_PEERSTORE_watch_cancel (huc->wc);
@@ -1173,11 +1174,13 @@ merge_success (void *cls, int success)
GNUNET_free (huc->hello);
GNUNET_free (huc->pid);
GNUNET_free (huc);
+ GNUNET_free (shu_cls);
return;
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Got notified during storing hello uri for peer %s!\n",
GNUNET_i2s (huc->pid));
+ GNUNET_free (shu_cls);
}
diff --git a/src/service/topology/gnunet-daemon-topology.c
b/src/service/topology/gnunet-daemon-topology.c
index 19bd29563..587f564dd 100644
--- a/src/service/topology/gnunet-daemon-topology.c
+++ b/src/service/topology/gnunet-daemon-topology.c
@@ -852,6 +852,7 @@ shc_cont (void *cls, int success)
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Error storing hello!\n");
GNUNET_CONTAINER_DLL_remove (shc_head, shc_tail, shc_cls->shc);
+ GNUNET_free (shc_cls);
}
@@ -886,6 +887,8 @@ handle_hello (void *cls, const struct GNUNET_MessageHeader
*message)
shc_cls->shc = shc;
GNUNET_CONTAINER_DLL_insert (shc_head, shc_tail, shc);
}
+ else
+ GNUNET_free (shc_cls);
GNUNET_HELLO_builder_free (builder);
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.