summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2011-04-25 11:19:47 +0200
committerSebastien Helleu <flashcode@flashtux.org>2011-04-25 11:19:47 +0200
commit4130ea6e77417fffdc266eaea557bdf55fdd2474 (patch)
treeccaf75e241b067b981a89e2306cca18ded8dcd82
parent7dabe70800871eb899ff12572986b8648efa4458 (diff)
downloadweechat-4130ea6e77417fffdc266eaea557bdf55fdd2474.zip
relay: fix crash on /upgrade when nick in irc client is not yet set
-rw-r--r--ChangeLog3
-rw-r--r--src/plugins/relay/relay-client-irc.c5
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 <flashcode@flashtux.org>
-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))