Parcourir la source

move a check, avoiding a crash

tags/v0.10.1
Shivaram Lingamneni il y a 6 ans
Parent
révision
71e82a9ccf
1 fichiers modifiés avec 3 ajouts et 4 suppressions
  1. 3
    4
      irc/modes.go

+ 3
- 4
irc/modes.go Voir le fichier

@@ -327,11 +327,7 @@ func (client *Client) applyUserModeChanges(force bool, changes ModeChanges) Mode
327 327
 // MODE <target> [<modestring> [<mode arguments>...]]
328 328
 func umodeHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
329 329
 	nickname, err := CasefoldName(msg.Params[0])
330
-
331 330
 	target := server.clients.Get(nickname)
332
-	targetNick := target.getNick()
333
-	hasPrivs := client == target || msg.Command == "SAMODE"
334
-
335 331
 	if err != nil || target == nil {
336 332
 		if len(msg.Params[0]) > 0 {
337 333
 			client.Send(nil, server.name, ERR_NOSUCHNICK, client.nick, msg.Params[0], "No such nick")
@@ -339,6 +335,9 @@ func umodeHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
339 335
 		return false
340 336
 	}
341 337
 
338
+	targetNick := target.getNick()
339
+	hasPrivs := client == target || msg.Command == "SAMODE"
340
+
342 341
 	if !hasPrivs {
343 342
 		if len(msg.Params) > 1 {
344 343
 			client.Send(nil, server.name, ERR_USERSDONTMATCH, client.nick, "Can't change modes for other users")

Chargement…
Annuler
Enregistrer