aboutsummaryrefslogtreecommitdiff
path: root/src/psyc
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2014-12-19 21:54:51 +0000
committerChristian Grothoff <christian@grothoff.org>2014-12-19 21:54:51 +0000
commit5a6bb4e48c2192b72ee7bf419774bdeeca5f7511 (patch)
treefbd020223b3fef2dea3ee01509c2acf3f076b084 /src/psyc
parent506926e9bded251ec9073097c8ab2f87553e0650 (diff)
downloadgnunet-5a6bb4e48c2192b72ee7bf419774bdeeca5f7511.tar.gz
gnunet-5a6bb4e48c2192b72ee7bf419774bdeeca5f7511.zip
-fix leaks, check RV
Diffstat (limited to 'src/psyc')
-rw-r--r--src/psyc/gnunet-service-psyc.c23
-rw-r--r--src/psyc/test_psyc.c11
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
1753client_recv_join_decision (void *cls, struct GNUNET_SERVER_Client *client, 1754client_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
201state_get_var (void *cls, const char *name, const void *value, size_t value_size) 201state_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
697void 697static void
698join_decision_cb (void *cls, 698join_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
718void 718static void
719join_request_cb (void *cls, 719join_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
737void 737static void
738slave_connect_cb (void *cls, int result, uint64_t max_message_id) 738slave_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
748void 748static void
749slave_join () 749slave_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}