$NetBSD: patch-bb,v 1.1.2.2 2010/11/23 21:50:06 spz Exp $

Fix for CVE-2010-3492, taken from the Python SVN repository:

http://svn.python.org/view?view=rev&revision=86084

--- Lib/asyncore.py.orig	2010-08-13 02:30:39.000000000 +0100
+++ Lib/asyncore.py	2010-11-22 18:13:52.000000000 +0000
@@ -348,12 +348,15 @@
         # XXX can return either an address pair or None
         try:
             conn, addr = self.socket.accept()
-            return conn, addr
-        except socket.error, why:
-            if why.args[0] == EWOULDBLOCK:
-                pass
+        except TypeError:
+            return None
+        except socket.error as why:
+            if why.args[0] in (EWOULDBLOCK, ECONNABORTED):
+                return None
             else:
                 raise
+        else:
+            return conn, addr
 
     def send(self, data):
         try:
