diff options
author | scumjr <scumjr@users.noreply.github.com> | 2016-05-19 12:50:04 +0200 |
---|---|---|
committer | scumjr <scumjr@users.noreply.github.com> | 2016-05-19 12:50:04 +0200 |
commit | e7fd68c29e712785519742991c5085e0a247b019 (patch) | |
tree | 3dd64e3c41b856817809f2d66337e1cb4f6de4a1 | |
parent | 29d7e499249d798848e580774dc7c6dd6edef4df (diff) | |
download | weechat-e7fd68c29e712785519742991c5085e0a247b019.zip |
irc: fix NULL pointer dereference in 734 command callback
-rw-r--r-- | src/plugins/irc/irc-protocol.c | 7 |
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; |