From 925886ed8eea8342c7d7a94b5250fff2f421f60f Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 22 Nov 2021 09:26:55 +0100 Subject: -fixes --- src/transport/gnunet-communicator-tcp.c | 39 ++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 18 deletions(-) (limited to 'src/transport') 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); -- cgit v1.2.3