diff options
author | Joel Rosdahl <joel@rosdahl.net> | 2012-07-01 18:23:12 +0200 |
---|---|---|
committer | Joel Rosdahl <joel@rosdahl.net> | 2012-07-01 18:37:14 +0200 |
commit | 57f15c089067fddd3d1a712c23f46fd31bba0276 (patch) | |
tree | 9ab6619a2e8c110b320523496be29123bbe03f15 | |
parent | 5f64e56973deddd5f80ae0bf78cec2932fbb7b9a (diff) | |
download | miniircd-57f15c089067fddd3d1a712c23f46fd31bba0276.tar.gz miniircd-57f15c089067fddd3d1a712c23f46fd31bba0276.zip |
Fix crash when the write queue for a disconnected client is non-empty
Reported by Jim Leonard.
-rw-r--r-- | CHANGES | 1 | ||||
-rwxr-xr-x | miniircd | 5 |
2 files changed, 4 insertions, 2 deletions
@@ -4,6 +4,7 @@ UNRELEASED * 422 message is now sent after registration when no MOTD is available. * Added support for WALLOPS command. * Added option to store persistent state (currently channel topic and key). + * Fixed crash when the write queue for a disconnected client is non-empty. 0.3 2011-08-25 @@ -1,7 +1,7 @@ #! /usr/bin/env python # Hey, Emacs! This is -*-python-*-. # -# Copyright (C) 2003, 2011 Joel Rosdahl +# Copyright (C) 2003, 2011-2012 Joel Rosdahl # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -753,7 +753,8 @@ class Server(object): self.print_info("Accepted connection from %s:%s." % ( addr[0], addr[1])) for x in owtd: - self.clients[x].socket_writable_notification() + if x in self.clients: # client may have been disconnected + self.clients[x].socket_writable_notification() now = time.time() if last_aliveness_check + 10 < now: for client in self.clients.values(): |