From c9f1b25a7f5b02bf83612f58eb0928a35c89bbfc Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Fri, 28 Jun 2019 11:28:30 +0200 Subject: [PATCH] Merge pull request #1058 from ailin-nemui/sasl-reconnect copy sasl username and password values (cherry picked from commit d23b0d22cc611e43c88d99192a59f413f951a955) --- src/irc/core/irc-core.c | 2 ++ src/irc/core/irc-servers-reconnect.c | 4 ++-- src/irc/core/irc-servers-setup.c | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/irc/core/irc-core.c b/src/irc/core/irc-core.c index a9221e02..9cffc862 100644 --- a/src/irc/core/irc-core.c +++ b/src/irc/core/irc-core.c @@ -75,6 +75,8 @@ static void destroy_server_connect(SERVER_CONNECT_REC *conn) g_free_not_null(ircconn->usermode); g_free_not_null(ircconn->alternate_nick); + g_free_not_null(ircconn->sasl_username); + g_free_not_null(ircconn->sasl_password); } void irc_core_init(void) diff --git a/src/irc/core/irc-servers-reconnect.c b/src/irc/core/irc-servers-reconnect.c index ca61492d..715ab38e 100644 --- a/src/irc/core/irc-servers-reconnect.c +++ b/src/irc/core/irc-servers-reconnect.c @@ -49,8 +49,8 @@ static void sig_server_connect_copy(SERVER_CONNECT_REC **dest, rec->usermode = g_strdup(src->usermode); rec->alternate_nick = g_strdup(src->alternate_nick); rec->sasl_mechanism = src->sasl_mechanism; - rec->sasl_username = src->sasl_username; - rec->sasl_password = src->sasl_password; + rec->sasl_username = g_strdup(src->sasl_username); + rec->sasl_password = g_strdup(src->sasl_password); *dest = (SERVER_CONNECT_REC *) rec; } diff --git a/src/irc/core/irc-servers-setup.c b/src/irc/core/irc-servers-setup.c index 6040d3a5..0cebe310 100644 --- a/src/irc/core/irc-servers-setup.c +++ b/src/irc/core/irc-servers-setup.c @@ -98,8 +98,8 @@ static void sig_server_setup_fill_chatnet(IRC_SERVER_CONNECT_REC *conn, if (ircnet->sasl_username != NULL && *ircnet->sasl_username && ircnet->sasl_password != NULL && *ircnet->sasl_password) { conn->sasl_mechanism = SASL_MECHANISM_PLAIN; - conn->sasl_username = ircnet->sasl_username; - conn->sasl_password = ircnet->sasl_password; + conn->sasl_username = g_strdup(ircnet->sasl_username); + conn->sasl_password = g_strdup(ircnet->sasl_password); } else g_warning("The fields sasl_username and sasl_password are either missing or empty"); }