Browse Source

bin/ircd: prevent panic when parting from non-existing channel

Dastan-glitch 4 years ago
parent
commit
85a88e6753
1 changed files with 4 additions and 2 deletions
  1. 4 2
      bin/ircd/src/server.rs

+ 4 - 2
bin/ircd/src/server.rs

@@ -86,8 +86,10 @@ impl IrcServerConnection {
                 for chan in channels.split(',') {
                 for chan in channels.split(',') {
                     let part_reply = format!(":{}!anon@dark.fi PART {}\r\n", self.nickname, chan);
                     let part_reply = format!(":{}!anon@dark.fi PART {}\r\n", self.nickname, chan);
                     self.reply(&part_reply).await?;
                     self.reply(&part_reply).await?;
-                    let chan_info = self.configured_chans.get_mut(chan).unwrap();
-                    chan_info.joined = false;
+                    if self.configured_chans.contains_key(chan) {
+                        let chan_info = self.configured_chans.get_mut(chan).unwrap();
+                        chan_info.joined = false;
+                    }
                 }
                 }
             }
             }
             "TOPIC" => {
             "TOPIC" => {