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':