Mercurial > pidgin
diff libpurple/protocols/jabber/jabber.c @ 28421:a335d1bab20e
jabber: Reject invalid chat nicks in /nick command. Fixes #10532.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sat, 24 Oct 2009 00:59:12 +0000 |
parents | 4a0d69b9d8a8 |
children | c3be1de8abde |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/jabber.c Fri Oct 23 06:25:49 2009 +0000 +++ b/libpurple/protocols/jabber/jabber.c Sat Oct 24 00:59:12 2009 +0000 @@ -2606,8 +2606,15 @@ if(!chat || !args || !args[0]) return PURPLE_CMD_RET_FAILED; - jabber_chat_change_nick(chat, args[0]); - return PURPLE_CMD_RET_OK; + if (!jabber_resourceprep_validate(args[0])) { + *error = g_strdup(_("Invalid nickname")); + return PURPLE_CMD_RET_FAILED; + } + + if (jabber_chat_change_nick(chat, args[0])) + return PURPLE_CMD_RET_OK; + else + return PURPLE_CMD_RET_FAILED; } static PurpleCmdRet jabber_cmd_chat_part(PurpleConversation *conv,