Staging
v0.8.1
v0.8.1
https://github.com/python/cpython
Revision 1789bbdd3e03023951a39933ef12dee0a03be616 authored by Miss Islington (bot) on 01 August 2019, 16:36:46 UTC, committed by Ned Deily on 01 August 2019, 16:36:46 UTC
Some crafted email header would cause the get_parameter method to run in an infinite loop causing a DoS attack surface when parsing those headers. This patch fixes that by making sure the DQUOTE character is handled to prevent going into an infinite loop. (cherry picked from commit a4a994bd3e619cbaff97610a1cee8ffa87c672f5) Co-authored-by: Abhilash Raj <maxking@users.noreply.github.com>
1 parent 79a47e2
Tip revision: 1789bbdd3e03023951a39933ef12dee0a03be616 authored by Miss Islington (bot) on 01 August 2019, 16:36:46 UTC
bpo-37461: Fix infinite loop in parsing of specially crafted email headers (GH-14794) (GH-14817)
bpo-37461: Fix infinite loop in parsing of specially crafted email headers (GH-14794) (GH-14817)
Tip revision: 1789bbd
File | Mode | Size |
---|---|---|
clinic | ||
Python-ast.c | -rw-r--r-- | 263.0 KB |
README | -rw-r--r-- | 62 bytes |
_warnings.c | -rw-r--r-- | 35.6 KB |
asdl.c | -rw-r--r-- | 1.4 KB |
ast.c | -rw-r--r-- | 160.5 KB |
bltinmodule.c | -rw-r--r-- | 81.1 KB |
ceval.c | -rw-r--r-- | 172.0 KB |
ceval_gil.h | -rw-r--r-- | 8.9 KB |
codecs.c | -rw-r--r-- | 45.0 KB |
compile.c | -rw-r--r-- | 150.6 KB |
condvar.h | -rw-r--r-- | 11.0 KB |
dtoa.c | -rw-r--r-- | 78.5 KB |
dup2.c | -rw-r--r-- | 705 bytes |
dynamic_annotations.c | -rw-r--r-- | 6.6 KB |
dynload_aix.c | -rw-r--r-- | 5.7 KB |
dynload_dl.c | -rw-r--r-- | 581 bytes |
dynload_hpux.c | -rw-r--r-- | 1.9 KB |
dynload_next.c | -rw-r--r-- | 3.9 KB |
dynload_shlib.c | -rw-r--r-- | 3.3 KB |
dynload_stub.c | -rw-r--r-- | 186 bytes |
dynload_win.c | -rw-r--r-- | 10.0 KB |
errors.c | -rw-r--r-- | 32.2 KB |
fileutils.c | -rw-r--r-- | 45.5 KB |
formatter_unicode.c | -rw-r--r-- | 50.3 KB |
frozen.c | -rw-r--r-- | 1.7 KB |
frozenmain.c | -rw-r--r-- | 2.7 KB |
future.c | -rw-r--r-- | 4.9 KB |
getargs.c | -rw-r--r-- | 72.3 KB |
getcompiler.c | -rw-r--r-- | 369 bytes |
getcopyright.c | -rw-r--r-- | 511 bytes |
getopt.c | -rw-r--r-- | 3.4 KB |
getplatform.c | -rw-r--r-- | 130 bytes |
getversion.c | -rw-r--r-- | 289 bytes |
graminit.c | -rw-r--r-- | 43.3 KB |
import.c | -rw-r--r-- | 57.8 KB |
importdl.c | -rw-r--r-- | 7.1 KB |
importdl.h | -rw-r--r-- | 487 bytes |
importlib.h | -rw-r--r-- | 96.2 KB |
importlib_external.h | -rw-r--r-- | 129.7 KB |
makeopcodetargets.py | -rwxr-xr-x | 1.6 KB |
marshal.c | -rw-r--r-- | 50.3 KB |
modsupport.c | -rw-r--r-- | 14.8 KB |
mysnprintf.c | -rw-r--r-- | 3.3 KB |
mystrtoul.c | -rw-r--r-- | 8.1 KB |
opcode_targets.h | -rw-r--r-- | 6.3 KB |
peephole.c | -rw-r--r-- | 30.7 KB |
pyarena.c | -rw-r--r-- | 5.5 KB |
pyctype.c | -rw-r--r-- | 7.7 KB |
pyfpe.c | -rw-r--r-- | 621 bytes |
pyhash.c | -rw-r--r-- | 13.0 KB |
pylifecycle.c | -rw-r--r-- | 46.8 KB |
pymath.c | -rw-r--r-- | 1.6 KB |
pystate.c | -rw-r--r-- | 27.5 KB |
pystrcmp.c | -rw-r--r-- | 613 bytes |
pystrhex.c | -rw-r--r-- | 1.6 KB |
pystrtod.c | -rw-r--r-- | 40.1 KB |
pythonrun.c | -rw-r--r-- | 43.3 KB |
pytime.c | -rw-r--r-- | 19.8 KB |
random.c | -rw-r--r-- | 17.8 KB |
sigcheck.c | -rw-r--r-- | 529 bytes |
strdup.c | -rw-r--r-- | 247 bytes |
structmember.c | -rw-r--r-- | 8.6 KB |
symtable.c | -rw-r--r-- | 56.9 KB |
sysmodule.c | -rw-r--r-- | 70.0 KB |
thread.c | -rw-r--r-- | 12.4 KB |
thread_foobar.h | -rw-r--r-- | 2.2 KB |
thread_nt.h | -rw-r--r-- | 9.6 KB |
thread_pthread.h | -rw-r--r-- | 18.6 KB |
traceback.c | -rw-r--r-- | 22.1 KB |
wordcode_helpers.h | -rw-r--r-- | 1.2 KB |
Computing file changes ...