diff options
author | Carlo von lynX <lynX@time.to.get.psyced.org> | 2016-07-28 23:36:38 +0000 |
---|---|---|
committer | Carlo von lynX <lynX@time.to.get.psyced.org> | 2016-07-28 23:36:38 +0000 |
commit | 01a8bbfb74277d3dd7f1c0e24f7ed61554658fd6 (patch) | |
tree | e86b4b7a3344cfff9e6a6fc73bb43c53d22a61bf /src/psyc | |
parent | 39e290e789e2eccaaf5db1201b0acc9038fa8960 (diff) | |
download | gnunet-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.c | 12 | ||||
-rw-r--r-- | src/psyc/test_psyc.c | 18 |
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 | |||
837 | slave_join (int t) | 837 | slave_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 (); |