From 4130ea6e77417fffdc266eaea557bdf55fdd2474 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Mon, 25 Apr 2011 11:19:47 +0200 Subject: [PATCH] relay: fix crash on /upgrade when nick in irc client is not yet set --- ChangeLog | 3 ++- src/plugins/relay/relay-client-irc.c | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 39d2726e9..62c4c67dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ WeeChat ChangeLog ================= Sébastien Helleu -v0.3.5-rc1, 2011-04-24 +v0.3.5-rc1, 2011-04-25 Version 0.3.5 (under dev!) @@ -84,6 +84,7 @@ Version 0.3.5 (under dev!) * irc: add many missing commands for target buffer (options irc.msgbuffer.xxx) (bug #32216) * lua: fix crash when many scripts are executing callbacks at same time +* relay: fix crash on /upgrade when nick in irc client is not yet set * relay: allow colon in server password received from client * relay: do not send join for private buffers to client * rmodifier: fix reload of file rmodifier.conf diff --git a/src/plugins/relay/relay-client-irc.c b/src/plugins/relay/relay-client-irc.c index 6f18eb7b5..963c04b57 100644 --- a/src/plugins/relay/relay-client-irc.c +++ b/src/plugins/relay/relay-client-irc.c @@ -1017,7 +1017,10 @@ relay_client_irc_alloc_with_infolist (struct t_relay_client *client, { RELAY_IRC_DATA(client, address) = strdup (weechat_infolist_string (infolist, "address")); RELAY_IRC_DATA(client, password_ok) = weechat_infolist_integer (infolist, "password_ok"); - RELAY_IRC_DATA(client, nick) = strdup (weechat_infolist_string (infolist, "nick")); + if (weechat_infolist_string (infolist, "nick")) + RELAY_IRC_DATA(client, nick) = strdup (weechat_infolist_string (infolist, "nick")); + else + RELAY_IRC_DATA(client, nick) = NULL; RELAY_IRC_DATA(client, user_received) = weechat_infolist_integer (infolist, "user_received"); RELAY_IRC_DATA(client, connected) = weechat_infolist_integer (infolist, "connected"); if (RELAY_IRC_DATA(client, connected))