SF patch #405845 by Martin von Löwis
Fixes SF bug #405427.
If an http response has a bogus return code, e.g. 400.100, raise
BadStatusLine.
diff --git a/Lib/httplib.py b/Lib/httplib.py
index 6c3b5e0..fb87099 100644
--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@@ -126,7 +126,13 @@
             self.close()
             raise BadStatusLine(line)
 
-        self.status = status = int(status)
+        # The status code is a three-digit number
+        try:
+            self.status = status = int(status)
+            if status < 100 or status > 999:
+                raise BadStatusLine(line)
+        except ValueError:
+            raise BadStatusLine(line)
         self.reason = reason.strip()
 
         if version == 'HTTP/1.0':