summaryrefslogtreecommitdiff
path: root/src/irc/core/irc-nicklist.c
diff options
context:
space:
mode:
authorailin-nemui <ailin-nemui@users.noreply.github.com>2017-01-03 13:44:58 +0100
committerailin-nemui <ailin-nemui@users.noreply.github.com>2017-01-03 13:44:58 +0100
commit78ba05985d8fed883a8b26ffef4878acdae58fff (patch)
tree733934527ce98cb4c9ecdd7fb20001650fabcd53 /src/irc/core/irc-nicklist.c
parent01163710e71318c6c2fd3f797f6b878f92b7f97b (diff)
parent7a112e021724af582a06eed8f92fafb772438c13 (diff)
downloadirssi-78ba05985d8fed883a8b26ffef4878acdae58fff.zip
Merge branch 'security' into 'master'
See merge request !7
Diffstat (limited to 'src/irc/core/irc-nicklist.c')
-rw-r--r--src/irc/core/irc-nicklist.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/irc/core/irc-nicklist.c b/src/irc/core/irc-nicklist.c
index b22f3269..1cb1f3e9 100644
--- a/src/irc/core/irc-nicklist.c
+++ b/src/irc/core/irc-nicklist.c
@@ -314,7 +314,11 @@ static void event_whois_ircop(SERVER_REC *server, const char *data)
static void event_nick_invalid(IRC_SERVER_REC *server, const char *data)
{
if (!server->connected)
- server_disconnect((SERVER_REC *) server);
+ /* we used to call server_disconnect but that crashes
+ irssi because of undefined memory access. instead,
+ indicate that the connection should be dropped and
+ let the irc method to the clean-up. */
+ server->connection_lost = server->no_reconnect = TRUE;
}
static void event_nick_in_use(IRC_SERVER_REC *server, const char *data)