summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscumjr <scumjr@users.noreply.github.com>2016-05-19 12:50:04 +0200
committerscumjr <scumjr@users.noreply.github.com>2016-05-19 12:50:04 +0200
commite7fd68c29e712785519742991c5085e0a247b019 (patch)
tree3dd64e3c41b856817809f2d66337e1cb4f6de4a1
parent29d7e499249d798848e580774dc7c6dd6edef4df (diff)
downloadweechat-e7fd68c29e712785519742991c5085e0a247b019.zip
irc: fix NULL pointer dereference in 734 command callback
-rw-r--r--src/plugins/irc/irc-protocol.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/irc/irc-protocol.c b/src/plugins/irc/irc-protocol.c
index b6a9cae24..91280103b 100644
--- a/src/plugins/irc/irc-protocol.c
+++ b/src/plugins/irc/irc-protocol.c
@@ -5384,8 +5384,13 @@ IRC_PROTOCOL_CALLBACK(733)
IRC_PROTOCOL_CALLBACK(734)
{
+ char *pos_args;
+
IRC_PROTOCOL_MIN_ARGS(5);
+ pos_args = (argc > 5) ?
+ ((argv_eol[5][0] == ':') ? argv_eol[5] + 1 : argv_eol[5]) : NULL;
+
weechat_printf_date_tags (
irc_msgbuffer_get_target_buffer (
server, NULL, command, "monitor", NULL),
@@ -5393,7 +5398,7 @@ IRC_PROTOCOL_CALLBACK(734)
irc_protocol_tags (command, "irc_numeric", NULL, NULL),
"%s%s (%s)",
weechat_prefix ("error"),
- (argv_eol[5][0] == ':') ? argv_eol[5] + 1 : argv_eol[5],
+ (pos_args && pos_args[0]) ? pos_args : "",
argv[3]);
return WEECHAT_RC_OK;