diff options
author | Christian Grothoff <christian@grothoff.org> | 2014-12-19 21:54:51 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2014-12-19 21:54:51 +0000 |
commit | 5a6bb4e48c2192b72ee7bf419774bdeeca5f7511 (patch) | |
tree | fbd020223b3fef2dea3ee01509c2acf3f076b084 /src/psyc | |
parent | 506926e9bded251ec9073097c8ab2f87553e0650 (diff) | |
download | gnunet-5a6bb4e48c2192b72ee7bf419774bdeeca5f7511.tar.gz gnunet-5a6bb4e48c2192b72ee7bf419774bdeeca5f7511.zip |
-fix leaks, check RV
Diffstat (limited to 'src/psyc')
-rw-r--r-- | src/psyc/gnunet-service-psyc.c | 23 | ||||
-rw-r--r-- | src/psyc/test_psyc.c | 11 |
2 files changed, 22 insertions, 12 deletions
diff --git a/src/psyc/gnunet-service-psyc.c b/src/psyc/gnunet-service-psyc.c index c67a702a7..6aa0ad961 100644 --- a/src/psyc/gnunet-service-psyc.c +++ b/src/psyc/gnunet-service-psyc.c | |||
@@ -1642,6 +1642,7 @@ client_recv_slave_join (void *cls, struct GNUNET_SERVER_Client *client, | |||
1642 | sizeof (*req), relay_size, join_msg_size, req_size); | 1642 | sizeof (*req), relay_size, join_msg_size, req_size); |
1643 | GNUNET_break (0); | 1643 | GNUNET_break (0); |
1644 | GNUNET_SERVER_client_disconnect (client); | 1644 | GNUNET_SERVER_client_disconnect (client); |
1645 | GNUNET_free (slv); | ||
1645 | return; | 1646 | return; |
1646 | } | 1647 | } |
1647 | if (0 < slv->relay_count) | 1648 | if (0 < slv->relay_count) |
@@ -1753,14 +1754,21 @@ static void | |||
1753 | client_recv_join_decision (void *cls, struct GNUNET_SERVER_Client *client, | 1754 | client_recv_join_decision (void *cls, struct GNUNET_SERVER_Client *client, |
1754 | const struct GNUNET_MessageHeader *msg) | 1755 | const struct GNUNET_MessageHeader *msg) |
1755 | { | 1756 | { |
1756 | struct Channel * | 1757 | const struct GNUNET_PSYC_JoinDecisionMessage *dcsn |
1757 | chn = GNUNET_SERVER_client_get_user_context (client, struct Channel); | 1758 | = (const struct GNUNET_PSYC_JoinDecisionMessage *) msg; |
1758 | GNUNET_assert (GNUNET_YES == chn->is_master); | 1759 | struct Channel *chn; |
1759 | struct Master *mst = (struct Master *) chn; | 1760 | struct Master *mst; |
1760 | |||
1761 | struct GNUNET_PSYC_JoinDecisionMessage * | ||
1762 | dcsn = (struct GNUNET_PSYC_JoinDecisionMessage *) msg; | ||
1763 | struct JoinDecisionClosure jcls; | 1761 | struct JoinDecisionClosure jcls; |
1762 | |||
1763 | chn = GNUNET_SERVER_client_get_user_context (client, struct Channel); | ||
1764 | if (NULL == chn) | ||
1765 | { | ||
1766 | GNUNET_break (0); | ||
1767 | GNUNET_SERVER_receive_done (client, GNUNET_SYSERR); | ||
1768 | return; | ||
1769 | } | ||
1770 | GNUNET_assert (GNUNET_YES == chn->is_master); | ||
1771 | mst = (struct Master *) chn; | ||
1764 | jcls.is_admitted = ntohl (dcsn->is_admitted); | 1772 | jcls.is_admitted = ntohl (dcsn->is_admitted); |
1765 | jcls.msg | 1773 | jcls.msg |
1766 | = (sizeof (*dcsn) + sizeof (*jcls.msg) <= ntohs (msg->size)) | 1774 | = (sizeof (*dcsn) + sizeof (*jcls.msg) <= ntohs (msg->size)) |
@@ -2266,6 +2274,7 @@ store_recv_state_var (void *cls, const char *name, | |||
2266 | GNUNET_SERVER_notification_context_add (nc, opcls->client); | 2274 | GNUNET_SERVER_notification_context_add (nc, opcls->client); |
2267 | GNUNET_SERVER_notification_context_unicast (nc, opcls->client, &op->header, | 2275 | GNUNET_SERVER_notification_context_unicast (nc, opcls->client, &op->header, |
2268 | GNUNET_NO); | 2276 | GNUNET_NO); |
2277 | GNUNET_free (op); | ||
2269 | return GNUNET_YES; | 2278 | return GNUNET_YES; |
2270 | } | 2279 | } |
2271 | 2280 | ||
diff --git a/src/psyc/test_psyc.c b/src/psyc/test_psyc.c index 044895809..cb6f8732d 100644 --- a/src/psyc/test_psyc.c +++ b/src/psyc/test_psyc.c | |||
@@ -201,7 +201,7 @@ void | |||
201 | state_get_var (void *cls, const char *name, const void *value, size_t value_size) | 201 | state_get_var (void *cls, const char *name, const void *value, size_t value_size) |
202 | { | 202 | { |
203 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 203 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
204 | "Got state var: %s\n%.*s\n", name, value_size, value); | 204 | "Got state var: %s\n%.*s\n", name, value_size, value); |
205 | } | 205 | } |
206 | 206 | ||
207 | 207 | ||
@@ -694,7 +694,7 @@ slave_add_cb (void *cls, int64_t result, const char *err_msg) | |||
694 | } | 694 | } |
695 | 695 | ||
696 | 696 | ||
697 | void | 697 | static void |
698 | join_decision_cb (void *cls, | 698 | join_decision_cb (void *cls, |
699 | const struct GNUNET_PSYC_JoinDecisionMessage *dcsn, | 699 | const struct GNUNET_PSYC_JoinDecisionMessage *dcsn, |
700 | int is_admitted, | 700 | int is_admitted, |
@@ -715,7 +715,7 @@ join_decision_cb (void *cls, | |||
715 | } | 715 | } |
716 | 716 | ||
717 | 717 | ||
718 | void | 718 | static void |
719 | join_request_cb (void *cls, | 719 | join_request_cb (void *cls, |
720 | const struct GNUNET_PSYC_JoinRequestMessage *req, | 720 | const struct GNUNET_PSYC_JoinRequestMessage *req, |
721 | const struct GNUNET_CRYPTO_EcdsaPublicKey *slave_key, | 721 | const struct GNUNET_CRYPTO_EcdsaPublicKey *slave_key, |
@@ -734,7 +734,7 @@ join_request_cb (void *cls, | |||
734 | } | 734 | } |
735 | 735 | ||
736 | 736 | ||
737 | void | 737 | static void |
738 | slave_connect_cb (void *cls, int result, uint64_t max_message_id) | 738 | slave_connect_cb (void *cls, int result, uint64_t max_message_id) |
739 | { | 739 | { |
740 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 740 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
@@ -745,7 +745,7 @@ slave_connect_cb (void *cls, int result, uint64_t max_message_id) | |||
745 | } | 745 | } |
746 | 746 | ||
747 | 747 | ||
748 | void | 748 | static void |
749 | slave_join () | 749 | slave_join () |
750 | { | 750 | { |
751 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Joining slave.\n"); | 751 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Joining slave.\n"); |
@@ -764,6 +764,7 @@ slave_join () | |||
764 | &slave_message_cb, &slave_message_part_cb, | 764 | &slave_message_cb, &slave_message_part_cb, |
765 | &slave_connect_cb, &join_decision_cb, NULL, | 765 | &slave_connect_cb, &join_decision_cb, NULL, |
766 | join_msg); | 766 | join_msg); |
767 | GNUNET_free (join_msg); | ||
767 | slv_chn = GNUNET_PSYC_slave_get_channel (slv); | 768 | slv_chn = GNUNET_PSYC_slave_get_channel (slv); |
768 | GNUNET_ENV_environment_destroy (env); | 769 | GNUNET_ENV_environment_destroy (env); |
769 | } | 770 | } |