diff options
Diffstat (limited to 'degesch.c')
-rw-r--r-- | degesch.c | 13 |
1 files changed, 5 insertions, 8 deletions
@@ -4472,13 +4472,6 @@ irc_setup_connector_socks (struct server *s, socks_connector_init (connector, &s->ctx->poller); s->socks_conn = connector; - // FIXME: the SOCKS connector may outlive these values - connector->hostname = socks_host; - // FIXME: memory leak - connector->service = xstrdup_printf ("%" PRIi64, socks_port_int); - connector->username = get_config_string (s->config, "socks_username"); - connector->password = get_config_string (s->config, "socks_password"); - connector->user_data = s; connector->on_connecting = irc_on_socks_connecting; connector->on_error = irc_on_connector_error; @@ -4494,7 +4487,11 @@ irc_setup_connector_socks (struct server *s, return false; } - socks_connector_run (connector); + char *service = xstrdup_printf ("%" PRIi64, socks_port_int); + socks_connector_run (connector, socks_host, service, + get_config_string (s->config, "socks_username"), + get_config_string (s->config, "socks_password")); + free (service); return true; } |