diff options
author | TheJackiMonster <thejackimonster@gmail.com> | 2023-12-17 00:05:16 +0100 |
---|---|---|
committer | TheJackiMonster <thejackimonster@gmail.com> | 2023-12-17 00:05:16 +0100 |
commit | 9cd3c4407929040dcac621a9b5ced8da28488dca (patch) | |
tree | 04cc4afd894fe545bf49af3195e1c00341d71c30 | |
parent | 4855a60d32dd402feec43d5eabc548662579d87d (diff) | |
download | gnunet-9cd3c4407929040dcac621a9b5ced8da28488dca.tar.gz gnunet-9cd3c4407929040dcac621a9b5ced8da28488dca.zip |
-fix assert
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
3 files changed, 15 insertions, 15 deletions
diff --git a/src/service/messenger/gnunet-service-messenger_handle.c b/src/service/messenger/gnunet-service-messenger_handle.c index c3ae454d3..9cd460fd3 100644 --- a/src/service/messenger/gnunet-service-messenger_handle.c +++ b/src/service/messenger/gnunet-service-messenger_handle.c | |||
@@ -59,21 +59,21 @@ create_srv_handle (struct GNUNET_MESSENGER_Service *service, | |||
59 | 59 | ||
60 | 60 | ||
61 | static enum GNUNET_GenericReturnValue | 61 | static enum GNUNET_GenericReturnValue |
62 | iterate_free_values (void *cls, | 62 | iterate_close_rooms (void *cls, |
63 | const struct GNUNET_HashCode *key, | 63 | const struct GNUNET_HashCode *key, |
64 | void *value) | 64 | void *value) |
65 | { | 65 | { |
66 | GNUNET_free (value); | 66 | struct GNUNET_MESSENGER_SrvHandle *handle = cls; |
67 | close_service_room (handle->service, handle, key); | ||
67 | return GNUNET_YES; | 68 | return GNUNET_YES; |
68 | } | 69 | } |
69 | 70 | ||
70 | static enum GNUNET_GenericReturnValue | 71 | static enum GNUNET_GenericReturnValue |
71 | iterate_close_rooms (void *cls, | 72 | iterate_free_values (void *cls, |
72 | const struct GNUNET_HashCode *key, | 73 | const struct GNUNET_HashCode *key, |
73 | void *value) | 74 | void *value) |
74 | { | 75 | { |
75 | struct GNUNET_MESSENGER_SrvHandle *handle = cls; | 76 | GNUNET_free (value); |
76 | close_service_room (handle->service, handle, key); | ||
77 | return GNUNET_YES; | 77 | return GNUNET_YES; |
78 | } | 78 | } |
79 | 79 | ||
@@ -82,6 +82,9 @@ destroy_srv_handle (struct GNUNET_MESSENGER_SrvHandle *handle) | |||
82 | { | 82 | { |
83 | GNUNET_assert (handle); | 83 | GNUNET_assert (handle); |
84 | 84 | ||
85 | GNUNET_CONTAINER_multihashmap_iterate (handle->routing, | ||
86 | iterate_close_rooms, handle); | ||
87 | |||
85 | if (handle->notify) | 88 | if (handle->notify) |
86 | GNUNET_SCHEDULER_cancel (handle->notify); | 89 | GNUNET_SCHEDULER_cancel (handle->notify); |
87 | 90 | ||
@@ -90,12 +93,6 @@ destroy_srv_handle (struct GNUNET_MESSENGER_SrvHandle *handle) | |||
90 | GNUNET_CONTAINER_multihashmap_iterate (handle->member_ids, | 93 | GNUNET_CONTAINER_multihashmap_iterate (handle->member_ids, |
91 | iterate_free_values, NULL); | 94 | iterate_free_values, NULL); |
92 | 95 | ||
93 | GNUNET_CONTAINER_multihashmap_clear (handle->next_ids); | ||
94 | GNUNET_CONTAINER_multihashmap_clear (handle->member_ids); | ||
95 | |||
96 | GNUNET_CONTAINER_multihashmap_iterate (handle->routing, | ||
97 | iterate_close_rooms, handle); | ||
98 | |||
99 | GNUNET_CONTAINER_multihashmap_destroy (handle->next_ids); | 96 | GNUNET_CONTAINER_multihashmap_destroy (handle->next_ids); |
100 | GNUNET_CONTAINER_multihashmap_destroy (handle->member_ids); | 97 | GNUNET_CONTAINER_multihashmap_destroy (handle->member_ids); |
101 | GNUNET_CONTAINER_multihashmap_destroy (handle->routing); | 98 | GNUNET_CONTAINER_multihashmap_destroy (handle->routing); |
diff --git a/src/service/messenger/gnunet-service-messenger_list_handles.c b/src/service/messenger/gnunet-service-messenger_list_handles.c index 5ee6cc159..62427ecde 100644 --- a/src/service/messenger/gnunet-service-messenger_list_handles.c +++ b/src/service/messenger/gnunet-service-messenger_list_handles.c | |||
@@ -105,8 +105,9 @@ find_list_handle_by_member (const struct GNUNET_MESSENGER_ListHandles *handles, | |||
105 | 105 | ||
106 | for (element = handles->head; element; element = element->next) | 106 | for (element = handles->head; element; element = element->next) |
107 | { | 107 | { |
108 | if (get_srv_handle_member_id (element->handle, key)) | 108 | if (get_srv_handle_member_id ((struct |
109 | handle = element->handle; | 109 | GNUNET_MESSENGER_SrvHandle *) element->handle, key)) |
110 | handle = (struct GNUNET_MESSENGER_SrvHandle *) element->handle; | ||
110 | 111 | ||
111 | if ((handle) && (GNUNET_YES == is_srv_handle_routing (handle, key))) | 112 | if ((handle) && (GNUNET_YES == is_srv_handle_routing (handle, key))) |
112 | break; | 113 | break; |
diff --git a/src/service/messenger/gnunet-service-messenger_service.c b/src/service/messenger/gnunet-service-messenger_service.c index 4f56cb472..f55a3bb7b 100644 --- a/src/service/messenger/gnunet-service-messenger_service.c +++ b/src/service/messenger/gnunet-service-messenger_service.c | |||
@@ -385,8 +385,8 @@ close_service_room (struct GNUNET_MESSENGER_Service *service, | |||
385 | if (! room) | 385 | if (! room) |
386 | return GNUNET_NO; | 386 | return GNUNET_NO; |
387 | 387 | ||
388 | const struct GNUNET_ShortHashCode *id = get_srv_handle_member_id (handle, | 388 | struct GNUNET_ShortHashCode *id = (struct GNUNET_ShortHashCode*) ( |
389 | key); | 389 | GNUNET_CONTAINER_multihashmap_get (handle->member_ids, key)); |
390 | 390 | ||
391 | GNUNET_assert (id); | 391 | GNUNET_assert (id); |
392 | 392 | ||
@@ -394,6 +394,8 @@ close_service_room (struct GNUNET_MESSENGER_Service *service, | |||
394 | key, id)) | 394 | key, id)) |
395 | return GNUNET_NO; | 395 | return GNUNET_NO; |
396 | 396 | ||
397 | GNUNET_free (id); | ||
398 | |||
397 | struct GNUNET_MESSENGER_SrvHandle *member_handle = (struct | 399 | struct GNUNET_MESSENGER_SrvHandle *member_handle = (struct |
398 | GNUNET_MESSENGER_SrvHandle | 400 | GNUNET_MESSENGER_SrvHandle |
399 | *) | 401 | *) |