diff -r 24dfe7310cc1 Lib/http/client.py --- a/Lib/http/client.py Sun Nov 23 17:06:39 2014 -0600 +++ b/Lib/http/client.py Mon Nov 24 03:22:01 2014 +0100 @@ -1124,12 +1124,16 @@ if hasattr(header, 'encode'): header = header.encode('ascii') + if b'\n' in header or b'\r' in header: + raise CannotSendHeader() values = list(values) for i, one_value in enumerate(values): if hasattr(one_value, 'encode'): values[i] = one_value.encode('latin-1') elif isinstance(one_value, int): values[i] = str(one_value).encode('ascii') + if b'\n' in values[i] or b'\r' in values[i]: + raise CannotSendHeader() value = b'\r\n\t'.join(values) header = header + b': ' + value self._output(header)