cpython/Python
Nick Coghlan 93602e3af7 [3.5] bpo-29537: Tolerate legacy invalid bytecode (#169)
bpo-27286 fixed a problem where BUILD_MAP_UNPACK_WITH_CALL could
be emitted with an incorrect oparg value, causing the eval loop
to access the wrong stack entry when attempting to read the
function name.

The associated magic number change caused significant problems when
attempting to upgrade to 3.5.3 for anyone that relies on pre-cached
bytecode remaining valid across maintenance releases.

This patch restores the ability to import legacy bytecode generated
by 3.5.0, 3.5.1 or 3.5.2, and modifies the eval loop to
avoid any harmful consequences from the potentially malformed legacy
bytecode.

Original import patch by Petr Viktorin, eval loop patch by Serhiy Storchaka,
and tests and integration by Nick Coghlan.
2017-03-08 16:41:01 +10:00
..
clinic
_warnings.c Issue #28701: Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString. 2016-11-16 10:17:58 +02:00
asdl.c
ast.c Issue #28715: Added error checks for PyUnicode_AsUTF8(). 2016-11-20 08:47:21 +02:00
bltinmodule.c Issue #26729: Fixed __text_signature__ for sorted(). 2017-01-23 12:29:47 +02:00
ceval.c [3.5] bpo-29537: Tolerate legacy invalid bytecode (#169) 2017-03-08 16:41:01 +10:00
ceval_gil.h
codecs.c
compile.c Issue #28701: Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString. 2016-11-16 10:17:58 +02:00
condvar.h Issue #27895: Spelling fixes (Contributed by Ville Skyttä). 2016-09-07 12:03:06 +00:00
dtoa.c
dup2.c
dynamic_annotations.c
dynload_aix.c
dynload_dl.c
dynload_hpux.c
dynload_next.c
dynload_shlib.c
dynload_stub.c
dynload_win.c
errors.c Issue #28512: Fixed setting the offset attribute of SyntaxError by 2016-12-11 14:39:01 +02:00
fileutils.c
formatter_unicode.c improve type-safe of and prevent double-frees in get_locale_info (#28119) 2016-09-13 22:43:45 -07:00
frozen.c
frozenmain.c
future.c Issue #28701: Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString. 2016-11-16 10:17:58 +02:00
getargs.c Issue #28701: Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString. 2016-11-16 10:17:58 +02:00
getcompiler.c
getcopyright.c ring in 2017 for Python 2017-01-01 22:04:13 -06:00
getopt.c
getplatform.c
getversion.c
graminit.c
import.c [3.5] bpo-29537: Tolerate legacy invalid bytecode (#169) 2017-03-08 16:41:01 +10:00
importdl.c Issue #28715: Added error checks for PyUnicode_AsUTF8(). 2016-11-20 08:47:21 +02:00
importdl.h
importlib.h Issue #27942: String constants now interned recursively in tuples and frozensets. 2016-09-30 10:07:26 +03:00
importlib_external.h [3.5] bpo-29537: Tolerate legacy invalid bytecode (#169) 2017-03-08 16:41:01 +10:00
makeopcodetargets.py
marshal.c
modsupport.c
mysnprintf.c
mystrtoul.c
opcode_targets.h
peephole.c
pyarena.c
pyctype.c
pyfpe.c
pyhash.c
pylifecycle.c
pymath.c
pystate.c
pystrcmp.c
pystrhex.c
pystrtod.c
Python-ast.c Issue #24098: Fixed possible crash when AST is changed in process of 2016-10-07 21:51:28 +03:00
pythonrun.c [3.5] bpo-29537: Tolerate legacy invalid bytecode (#169) 2017-03-08 16:41:01 +10:00
pytime.c
random.c Issue #29157: Prefer getrandom() over getentropy() 2017-01-09 11:18:53 +01:00
README
sigcheck.c
strdup.c
structmember.c
symtable.c Issue #28701: Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString. 2016-11-16 10:17:58 +02:00
sysmodule.c [3.5] bpo-27593: Get SCM build info from git instead of hg. (#446) (#454) (#455) 2017-03-04 01:34:19 -05:00
thread.c
thread_foobar.h
thread_nt.h
thread_pthread.h
traceback.c Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception 2016-10-18 13:23:18 +03:00

Miscellaneous source files for the main Python shared library