From 925886ed8eea8342c7d7a94b5250fff2f421f60f Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 22 Nov 2021 09:26:55 +0100 Subject: -fixes --- src/nat/nat_api.c | 43 ++++++++++++++++++++------------- src/transport/gnunet-communicator-tcp.c | 39 ++++++++++++++++-------------- src/util/mq.c | 6 +++-- src/util/program.c | 11 ++++++--- 4 files changed, 59 insertions(+), 40 deletions(-) (limited to 'src') diff --git a/src/nat/nat_api.c b/src/nat/nat_api.c index 4622b1428..20e7b6ec6 100644 --- a/src/nat/nat_api.c +++ b/src/nat/nat_api.c @@ -311,7 +311,8 @@ handle_address_change_notification ( * @param error details about the error */ static void -mq_error_handler (void *cls, enum GNUNET_MQ_Error error) +mq_error_handler (void *cls, + enum GNUNET_MQ_Error error) { struct GNUNET_NAT_Handle *nh = cls; @@ -328,29 +329,36 @@ static void do_connect (void *cls) { struct GNUNET_NAT_Handle *nh = cls; - struct GNUNET_MQ_MessageHandler handlers[] = - { GNUNET_MQ_hd_var_size (connection_reversal_request, - GNUNET_MESSAGE_TYPE_NAT_CONNECTION_REVERSAL_REQUESTED, - struct - GNUNET_NAT_ConnectionReversalRequestedMessage, - nh), - GNUNET_MQ_hd_var_size (address_change_notification, - GNUNET_MESSAGE_TYPE_NAT_ADDRESS_CHANGE, - struct GNUNET_NAT_AddressChangeNotificationMessage, - nh), - GNUNET_MQ_handler_end () }; + struct GNUNET_MQ_MessageHandler handlers[] = { + GNUNET_MQ_hd_var_size ( + connection_reversal_request, + GNUNET_MESSAGE_TYPE_NAT_CONNECTION_REVERSAL_REQUESTED, + struct GNUNET_NAT_ConnectionReversalRequestedMessage, + nh), + GNUNET_MQ_hd_var_size ( + address_change_notification, + GNUNET_MESSAGE_TYPE_NAT_ADDRESS_CHANGE, + struct GNUNET_NAT_AddressChangeNotificationMessage, + nh), + GNUNET_MQ_handler_end () + }; struct GNUNET_MQ_Envelope *env; nh->reconnect_task = NULL; nh->mq = - GNUNET_CLIENT_connect (nh->cfg, "nat", handlers, &mq_error_handler, nh); + GNUNET_CLIENT_connect (nh->cfg, + "nat", + handlers, + &mq_error_handler, + nh); if (NULL == nh->mq) { reconnect (nh); return; } env = GNUNET_MQ_msg_copy (nh->reg); - GNUNET_MQ_send (nh->mq, env); + GNUNET_MQ_send (nh->mq, + env); } @@ -396,8 +404,9 @@ GNUNET_NAT_register (const struct GNUNET_CONFIGURATION_Handle *cfg, len += addrlens[i]; str_len = strlen (config_section) + 1; len += str_len; - if ((len > GNUNET_MAX_MESSAGE_SIZE - sizeof(*rm)) || - (num_addrs > UINT16_MAX)) + if ( (len > GNUNET_MAX_MESSAGE_SIZE - sizeof(*rm)) || + (num_addrs > UINT16_MAX) || + (str_len > UINT16_MAX) ) { GNUNET_break (0); return NULL; @@ -475,7 +484,7 @@ GNUNET_NAT_register (const struct GNUNET_CONFIGURATION_Handle *cfg, * @return #GNUNET_YES if @a data is a STUN packet, * #GNUNET_NO if the packet is invalid (not a stun packet) */ -static int +static enum GNUNET_GenericReturnValue test_stun_packet (const void *data, size_t len) { const struct stun_header *hdr; diff --git a/src/transport/gnunet-communicator-tcp.c b/src/transport/gnunet-communicator-tcp.c index 07eb6db3a..c6c96f03e 100644 --- a/src/transport/gnunet-communicator-tcp.c +++ b/src/transport/gnunet-communicator-tcp.c @@ -2119,9 +2119,10 @@ tcp_address_to_sockaddr_port_only (const char *bindto, unsigned int *port) * @param bindto String we extract the address part from. * @return The extracted address string. */ -static void -extract_address (const char *bindto, char **addr) +static char * +extract_address (const char *bindto) { + char *addr; char *start; char *token; char *cp; @@ -2146,7 +2147,7 @@ extract_address (const char *bindto, char **addr) { start++; /* skip over '['*/ cp[strlen (cp) - 1] = '\0'; /* eat ']'*/ - *addr = GNUNET_strdup (start); + addr = GNUNET_strdup (start); } else { @@ -2154,20 +2155,21 @@ extract_address (const char *bindto, char **addr) if (strlen (bindto) == strlen (token)) { token = strtok_r (cp, ":", &rest); - *addr = strdup (token); + addr = GNUNET_strdup (token); } else { token++; res = GNUNET_strdup (token); - *addr = GNUNET_strdup (res); + addr = GNUNET_strdup (res); } } GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "tcp address: %s\n", - *addr); + addr); GNUNET_free (cp); + return addr; } @@ -3611,9 +3613,8 @@ run (void *cls, return; } - start = GNUNET_malloc (sizeof(bindto)); - extract_address (bindto, &start); - + start = extract_address (bindto); + // FIXME: check for NULL == start... if (1 == inet_pton (AF_INET, start, &v4.sin_addr)) { bind_port = extract_port (bindto); @@ -3669,17 +3670,19 @@ main (int argc, char *const *argv) GNUNET_log_from_nocheck (GNUNET_ERROR_TYPE_DEBUG, "transport", "Starting tcp communicator\n"); - - if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv)) + if (GNUNET_OK != + GNUNET_STRINGS_get_utf8_args (argc, argv, + &argc, &argv)) return 2; - ret = (GNUNET_OK == GNUNET_PROGRAM_run (argc, - argv, - "gnunet-communicator-tcp", - _ ("GNUnet TCP communicator"), - options, - &run, - NULL)) + ret = (GNUNET_OK == + GNUNET_PROGRAM_run (argc, + argv, + "gnunet-communicator-tcp", + _ ("GNUnet TCP communicator"), + options, + &run, + NULL)) ? 0 : 1; GNUNET_free_nz ((void *) argv); diff --git a/src/util/mq.c b/src/util/mq.c index 9b59cd338..b09837459 100644 --- a/src/util/mq.c +++ b/src/util/mq.c @@ -273,7 +273,7 @@ GNUNET_MQ_handle_message (const struct GNUNET_MQ_MessageHandler *handlers, break; } } - done: +done: if (GNUNET_NO == handled) { LOG (GNUNET_ERROR_TYPE_INFO, @@ -670,7 +670,9 @@ GNUNET_MQ_msg_copy (const struct GNUNET_MessageHeader *hdr) mqm = GNUNET_malloc (sizeof(*mqm) + size); mqm->mh = (struct GNUNET_MessageHeader *) &mqm[1]; - GNUNET_memcpy (mqm->mh, hdr, size); + GNUNET_memcpy (mqm->mh, + hdr, + size); return mqm; } diff --git a/src/util/program.c b/src/util/program.c index b9da14572..08effa19b 100644 --- a/src/util/program.c +++ b/src/util/program.c @@ -89,9 +89,13 @@ program_main (void *cls) struct CommandContext *cc = cls; GNUNET_SPEEDUP_start_ (cc->cfg); - GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); + GNUNET_SCHEDULER_add_shutdown (&shutdown_task, + NULL); GNUNET_RESOLVER_connect (cc->cfg); - cc->task (cc->task_cls, cc->args, cc->cfgfile, cc->cfg); + cc->task (cc->task_cls, + cc->args, + cc->cfgfile, + cc->cfg); } @@ -103,7 +107,8 @@ program_main (void *cls) * @param a2 second command line option */ static int -cmd_sorter (const void *a1, const void *a2) +cmd_sorter (const void *a1, + const void *a2) { const struct GNUNET_GETOPT_CommandLineOption *c1 = a1; const struct GNUNET_GETOPT_CommandLineOption *c2 = a2; -- cgit v1.2.3