diff options
author | Marius Halden <marius.h@lden.org> | 2016-04-06 19:51:13 +0200 |
---|---|---|
committer | Marius Halden <marius.h@lden.org> | 2016-04-06 20:08:41 +0200 |
commit | c9603a38774fb118d4aaa96e170674412ed7328a (patch) | |
tree | 313c945f48058e3f562e9e56dd68f5c0e4bf3e10 | |
parent | 64b42638fae4c2af5d334e64e96d748841f8618e (diff) |
Ignore CAP END when received multiple times
This fixes a segfault when CAP END was received after the capabilty
negotiation was already over.
-rw-r--r-- | irc_cap.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -176,6 +176,9 @@ void irc_cmd_cap(irc_t *irc, char **cmd) irc_send_cap(irc, ack ? "ACK" : "NAK", cmd[2] ? : ""); } else if (g_strcasecmp(cmd[1], "END") == 0) { + if (!(irc->status & USTATUS_CAP_PENDING)) { + return; + } irc->status &= ~USTATUS_CAP_PENDING; if (irc->status & USTATUS_SASL_PLAIN_PENDING) { |