Quellcode durchsuchen

fix a crash when SAMODE'ing in a channel you're not joined to

tags/v0.12.0
Shivaram Lingamneni vor 5 Jahren
Ursprung
Commit
a18283e2de
1 geänderte Dateien mit 5 neuen und 2 gelöschten Zeilen
  1. 5
    2
      irc/channel.go

+ 5
- 2
irc/channel.go Datei anzeigen

@@ -239,9 +239,12 @@ func (channel *Channel) Names(client *Client, rb *ResponseBuffer) {
239 239
 // ClientIsAtLeast returns whether the client has at least the given channel privilege.
240 240
 func (channel *Channel) ClientIsAtLeast(client *Client, permission modes.Mode) bool {
241 241
 	channel.stateMutex.RLock()
242
-	defer channel.stateMutex.RUnlock()
243
-
244 242
 	clientModes := channel.members[client]
243
+	channel.stateMutex.RUnlock()
244
+
245
+	if clientModes == nil {
246
+		return false
247
+	}
245 248
 
246 249
 	for _, mode := range modes.ChannelUserModes {
247 250
 		if clientModes.HasMode(mode) {

Laden…
Abbrechen
Speichern