aboutsummaryrefslogtreecommitdiff
path: root/src/psyc
diff options
context:
space:
mode:
authorCarlo von lynX <lynX@time.to.get.psyced.org>2016-07-28 23:36:38 +0000
committerCarlo von lynX <lynX@time.to.get.psyced.org>2016-07-28 23:36:38 +0000
commit01a8bbfb74277d3dd7f1c0e24f7ed61554658fd6 (patch)
treee86b4b7a3344cfff9e6a6fc73bb43c53d22a61bf /src/psyc
parent39e290e789e2eccaaf5db1201b0acc9038fa8960 (diff)
downloadgnunet-01a8bbfb74277d3dd7f1c0e24f7ed61554658fd6.tar.gz
gnunet-01a8bbfb74277d3dd7f1c0e24f7ed61554658fd6.zip
fixed use after free and several printf warnings
Diffstat (limited to 'src/psyc')
-rw-r--r--src/psyc/gnunet-service-psyc.c12
-rw-r--r--src/psyc/test_psyc.c18
2 files changed, 19 insertions, 11 deletions
diff --git a/src/psyc/gnunet-service-psyc.c b/src/psyc/gnunet-service-psyc.c
index 792164b95..9106e8731 100644
--- a/src/psyc/gnunet-service-psyc.c
+++ b/src/psyc/gnunet-service-psyc.c
@@ -856,18 +856,23 @@ store_recv_fragment_replay_result (void *cls, int64_t result,
856 case GNUNET_NO: 856 case GNUNET_NO:
857 GNUNET_MULTICAST_replay_response (rh, NULL, 857 GNUNET_MULTICAST_replay_response (rh, NULL,
858 GNUNET_MULTICAST_REC_NOT_FOUND); 858 GNUNET_MULTICAST_REC_NOT_FOUND);
859 break; 859 return;
860 860
861 case GNUNET_PSYCSTORE_MEMBERSHIP_TEST_FAILED: 861 case GNUNET_PSYCSTORE_MEMBERSHIP_TEST_FAILED:
862 GNUNET_MULTICAST_replay_response (rh, NULL, 862 GNUNET_MULTICAST_replay_response (rh, NULL,
863 GNUNET_MULTICAST_REC_ACCESS_DENIED); 863 GNUNET_MULTICAST_REC_ACCESS_DENIED);
864 break; 864 return;
865 865
866 case GNUNET_SYSERR: 866 case GNUNET_SYSERR:
867 GNUNET_MULTICAST_replay_response (rh, NULL, 867 GNUNET_MULTICAST_replay_response (rh, NULL,
868 GNUNET_MULTICAST_REC_INTERNAL_ERROR); 868 GNUNET_MULTICAST_REC_INTERNAL_ERROR);
869 return; 869 return;
870 } 870 }
871 /* GNUNET_MULTICAST_replay_response frees 'rh' when passed
872 * an error code, so it must be ensured no further processing
873 * is attempted on 'rh'. Maybe this should be refactored as
874 * it doesn't look very intuitive. --lynX
875 */
871 GNUNET_MULTICAST_replay_response_end (rh); 876 GNUNET_MULTICAST_replay_response_end (rh);
872} 877}
873 878
@@ -2269,6 +2274,9 @@ client_recv_psyc_message (void *cls, struct GNUNET_SERVER_Client *client,
2269 uint16_t size = ntohs (msg->size); 2274 uint16_t size = ntohs (msg->size);
2270 if (GNUNET_MULTICAST_FRAGMENT_MAX_PAYLOAD < size - sizeof (*msg)) 2275 if (GNUNET_MULTICAST_FRAGMENT_MAX_PAYLOAD < size - sizeof (*msg))
2271 { 2276 {
2277 /* Coverity says this printf has incompatible args
2278 * but I don't see anything wrong with it.. FIXME
2279 */
2272 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 2280 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
2273 "%p Message payload too large: %u < %u.\n", 2281 "%p Message payload too large: %u < %u.\n",
2274 chn, 2282 chn,
diff --git a/src/psyc/test_psyc.c b/src/psyc/test_psyc.c
index 9797a96b5..329ad5b25 100644
--- a/src/psyc/test_psyc.c
+++ b/src/psyc/test_psyc.c
@@ -350,7 +350,7 @@ slave_state_get_prefix_result (void *cls, int64_t result,
350 const void *err_msg, uint16_t err_msg_size) 350 const void *err_msg, uint16_t err_msg_size)
351{ 351{
352 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, 352 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
353 "slave_state_get_prefix:\t%" PRId64 " (%.s)\n", 353 "slave_state_get_prefix:\t%" PRId64 " (%.*s)\n",
354 result, 354 result,
355 (int) err_msg_size, 355 (int) err_msg_size,
356 (const char *) err_msg); 356 (const char *) err_msg);
@@ -376,7 +376,7 @@ master_state_get_prefix_result (void *cls, int64_t result,
376 const void *err_msg, uint16_t err_msg_size) 376 const void *err_msg, uint16_t err_msg_size)
377{ 377{
378 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, 378 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
379 "master_state_get_prefix:\t%" PRId64 " (%s)\n", result, err_msg); 379 "master_state_get_prefix:\t%" PRId64 " (%s)\n", result, (char *) err_msg);
380 // FIXME: GNUNET_assert (2 == result); 380 // FIXME: GNUNET_assert (2 == result);
381 slave_state_get_prefix (); 381 slave_state_get_prefix ();
382} 382}
@@ -400,7 +400,7 @@ slave_state_get_result (void *cls, int64_t result,
400{ 400{
401 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, 401 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
402 "slave_state_get:\t%" PRId64 " (%.*s)\n", 402 "slave_state_get:\t%" PRId64 " (%.*s)\n",
403 result, err_msg_size, err_msg); 403 result, err_msg_size, (char *) err_msg);
404 // FIXME: GNUNET_assert (2 == result); 404 // FIXME: GNUNET_assert (2 == result);
405 master_state_get_prefix (); 405 master_state_get_prefix ();
406} 406}
@@ -424,7 +424,7 @@ master_state_get_result (void *cls, int64_t result,
424{ 424{
425 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, 425 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
426 "master_state_get:\t%" PRId64 " (%.*s)\n", 426 "master_state_get:\t%" PRId64 " (%.*s)\n",
427 result, err_msg_size, err_msg); 427 result, err_msg_size, (char *) err_msg);
428 // FIXME: GNUNET_assert (1 == result); 428 // FIXME: GNUNET_assert (1 == result);
429 slave_state_get (); 429 slave_state_get ();
430} 430}
@@ -538,7 +538,7 @@ master_history_replay_latest_result (void *cls, int64_t result,
538{ 538{
539 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, 539 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
540 "master_history_replay_latest:\t%" PRId64 " (%.*s)\n", 540 "master_history_replay_latest:\t%" PRId64 " (%.*s)\n",
541 result, err_msg_size, err_msg); 541 result, err_msg_size, (char *) err_msg);
542 GNUNET_assert (9 == result); 542 GNUNET_assert (9 == result);
543 543
544 slave_history_replay_latest (); 544 slave_history_replay_latest ();
@@ -619,7 +619,7 @@ tmit_notify_mod (void *cls, uint16_t *data_size, void *data, uint8_t *oper,
619{ 619{
620 struct TransmitClosure *tmit = cls; 620 struct TransmitClosure *tmit = cls;
621 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 621 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
622 "Test #%d: Transmit notify modifier: %lu bytes available, " 622 "Test #%d: Transmit notify modifier: %u bytes available, "
623 "%u modifiers left to process.\n", 623 "%u modifiers left to process.\n",
624 test, *data_size, GNUNET_PSYC_env_get_count (tmit->env)); 624 test, *data_size, GNUNET_PSYC_env_get_count (tmit->env));
625 625
@@ -723,7 +723,7 @@ slave_remove_cb (void *cls, int64_t result,
723{ 723{
724 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, 724 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
725 "slave_remove:\t%" PRId64 " (%.*s)\n", 725 "slave_remove:\t%" PRId64 " (%.*s)\n",
726 result, err_msg_size, err_msg); 726 result, err_msg_size, (char *) err_msg);
727 727
728 slave_transmit (); 728 slave_transmit ();
729} 729}
@@ -745,7 +745,7 @@ slave_add_cb (void *cls, int64_t result,
745{ 745{
746 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, 746 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
747 "slave_add:\t%" PRId64 " (%.*s)\n", 747 "slave_add:\t%" PRId64 " (%.*s)\n",
748 result, err_msg_size, err_msg); 748 result, err_msg_size, (char *) err_msg);
749 slave_remove (); 749 slave_remove ();
750} 750}
751 751
@@ -837,7 +837,7 @@ static void
837slave_join (int t) 837slave_join (int t)
838{ 838{
839 test = t; 839 test = t;
840 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Test #%d: Joining slave.\n"); 840 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Test #%d: Joining slave.\n", t);
841 841
842 struct GNUNET_PeerIdentity origin = this_peer; 842 struct GNUNET_PeerIdentity origin = this_peer;
843 struct GNUNET_PSYC_Environment *env = GNUNET_PSYC_env_create (); 843 struct GNUNET_PSYC_Environment *env = GNUNET_PSYC_env_create ();