cpython/Python
Miss Islington (bot) f16ebcd460
bpo-35193: Fix an off by one error in the RETURN_VALUE case. (GH-10418)
Fix an off by one error in the peephole optimizer when checking for unreachable code beyond a return.

Do a bounds check within find_op so it can return before going past the end as a safety measure.

7db3c48833GH-diff-a33329ae6ae0bb295d742f0caf93c137
introduced this off by one error while fixing another one nearby.

This bug was shipped in all Python 3.6 and 3.7 releases.

The included unittest won't fail unless you do a clang msan build.
(cherry picked from commit 49fa4a9f1e)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2018-11-08 18:13:14 -08:00
..
clinic bpo-32436: Implement PEP 567 (#5027) 2018-01-22 19:11:18 -05:00
Python-ast.c bpo-33677: Fix signatures of tp_clear handlers for AST and deque. (GH-7196) 2018-05-30 22:31:21 -07:00
README Issue #18093: Factor out the programs that embed the runtime 2014-07-25 21:52:14 +10:00
_warnings.c bpo-33509: Fix _warnings for module_globals=None (GH-6833) 2018-05-15 13:56:28 -07:00
asdl.c replace PY_SIZE_MAX with SIZE_MAX 2016-09-07 09:26:18 -07:00
ast.c Make sure the line comes from the same node as the col offset. (GH-9189) 2018-09-11 16:32:52 -07:00
ast_opt.c bpo-32911: Revert bpo-29463. (GH-7121) 2018-05-29 10:49:10 +03:00
ast_unparse.c bpo-34854: Fix compiling string annotations containing lambdas. (GH-9645) 2018-09-30 11:19:15 -07:00
bltinmodule.c closes bpo-34474: Python/bltinmodule.c: Add missing NULL check in builtin_sum_impl() (GH-8872) 2018-08-24 00:59:16 -04:00
bootstrap_hash.c [3.7] bpo-33021: Release the GIL during fstat() calls (GH-6019) (GH-6159) 2018-03-20 20:16:30 +01:00
ceval.c bpo-34190: Fix reference leak in call_function() (GH-8413) (GH-8418) 2018-07-23 23:45:26 +02:00
ceval_gil.h bpo-30860: Consolidate stateful runtime globals. (#3397) 2017-09-07 23:51:28 -06:00
codecs.c bpo-33231: Fix potential leak in normalizestring() (GH-6386) 2018-04-06 00:12:38 -07:00
compile.c Fix an incorrect check in compiler_try_except(). (GH-9810) 2018-10-12 00:19:20 -07:00
condvar.h bpo-30860: Consolidate stateful runtime globals. (#3397) 2017-09-07 23:51:28 -06:00
context.c bpo-34762: Fix contextvars C API to use PyObject* pointer types. (GH-9473) 2018-09-21 12:48:10 -07:00
dtoa.c bpo-30923: Silence fall-through warnings included in -Wextra since gcc-7.0. (#3157) 2017-08-21 13:09:59 +02:00
dup2.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
dynamic_annotations.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
dynload_aix.c PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
dynload_dl.c Issue #24268: Fix import naming when loading extension modules. Patch by Petr Viktorin. 2015-05-23 14:13:41 -07:00
dynload_hpux.c Issue #24268: Fix import naming when loading extension modules. Patch by Petr Viktorin. 2015-05-23 14:13:41 -07:00
dynload_shlib.c bpo-30860: Consolidate stateful runtime globals. (#3397) 2017-09-07 23:51:28 -06:00
dynload_stub.c
dynload_win.c [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302) 2017-06-28 08:30:06 +03:00
errors.c bpo-34503: Fix refleak in PyErr_SetObject() (GH-8934) 2018-08-26 13:13:47 -04:00
fileutils.c bpo-34403: Always implement _Py_GetForceASCII() (GH-10235) 2018-10-30 14:32:01 +01:00
formatter_unicode.c closes bpo-34868: Improve error message with '_' is combined with an invalid type specifier. (GH-9666) 2018-10-01 22:12:02 -07:00
frozen.c Issue #26647: Python interpreter now uses 16-bit wordcode instead of bytecode. 2016-05-24 09:15:14 +03:00
frozenmain.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
future.c bpo-32911: Revert bpo-29463. (GH-7121) 2018-05-29 10:49:10 +03:00
getargs.c bpo-23927: Make getargs.c skipitem() skipping 'w*'. (GH-8192) 2018-07-11 09:56:05 -07:00
getcompiler.c closes bpo-31696: don't mention GCC in sys.version when building with clang (#3891) 2017-10-05 21:15:14 -07:00
getcopyright.c advance copyright years to 2018 (#5094) 2018-01-04 22:34:19 -08:00
getopt.c move pygetopt.h to internal (closes bpo-32264) (#4830) 2017-12-14 23:48:12 -08:00
getplatform.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
getversion.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
graminit.c bpo-30406: Make async and await proper keywords (#1669) 2017-10-05 23:24:46 -04:00
hamt.c Fix GCC warning in Python/hamt.c (GH-7618) 2018-07-06 02:43:05 -07:00
import.c bpo-35133: Fix mistakes when concatenate string literals on different lines. (GH-10284) 2018-11-05 06:52:58 -08:00
importdl.c bpo-31315: Fix an assertion failure in imp.create_dynamic(), when spec.name is not a string. (#3257) 2017-09-19 14:39:47 +03:00
importdl.h PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
importlib.h bpo-32911: Revert bpo-29463. (GH-7121) 2018-05-29 10:49:10 +03:00
importlib_external.h bpo-32911: Revert bpo-29463. (GH-7121) 2018-05-29 10:49:10 +03:00
makeopcodetargets.py makeopcodetargets.py: we need to import Lib/opcode.py 2016-03-26 01:04:37 +01:00
marshal.c bpo-33720: Reduces maximum marshal recursion depth on release builds. (GH-7401) 2018-06-04 13:41:49 -07:00
modsupport.c bpo-29852: Argument Clinic Py_ssize_t converter now supports None (#716) 2017-03-30 09:15:31 +03:00
mysnprintf.c
mystrtoul.c bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
opcode_targets.h bpo-32550. Remove the STORE_ANNOTATION bytecode. (GH-5181) 2018-01-29 16:41:04 -08:00
pathconfig.c bpo-33053: -m now adds *starting* directory to sys.path (GH-6231) (#6236) 2018-03-25 23:43:50 +10:00
peephole.c bpo-35193: Fix an off by one error in the RETURN_VALUE case. (GH-10418) 2018-11-08 18:13:14 -08:00
pyarena.c Issue #18203: Replace malloc() with PyMem_Malloc() to allocate arena objects 2013-07-07 17:18:53 +02:00
pyctype.c
pyfpe.c bpo-29137: Remove fpectl module (#4789) 2018-01-05 23:15:34 -08:00
pyhash.c bpo-31849: Fix warning in pyhash.c (GH-6799) 2018-06-04 10:31:07 -07:00
pylifecycle.c bpo-26558: Fix Py_FatalError() with GIL released (GH-10267) 2018-10-31 16:45:42 -07:00
pymath.c Issue 24366: Indent code (thanks to li4ick for reporting). 2015-06-02 18:53:46 -04:00
pystate.c bpo-33612: Remove PyThreadState_Clear() assertion (GH-7069) (GH-7074) 2018-05-23 15:58:21 -04:00
pystrcmp.c
pystrhex.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
pystrtod.c Drop confusing commented out code in pystrtod.c (GH-6072) (GH-9586) 2018-09-26 07:45:19 -07:00
pythonrun.c bpo-34084: Fix setting an error message for the "Barry as BDFL" easter egg. (GH-8262) (GH-8423) 2018-07-24 01:41:26 +03:00
pytime.c Fix miscellaneous typos (#4275) 2017-11-05 15:37:50 +02:00
strdup.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
structmember.c Added the const qualifier to char* variables that refer to readonly internal 2016-11-20 10:16:47 +02:00
symtable.c Fix a possible decref of a borrowed reference in symtable.c. (GH-9786) 2018-10-10 22:24:14 -07:00
sysmodule.c bpo-22689: Copy the result of getenv() in sys_breakpointhook(). (GH-8194) 2018-07-09 12:06:02 -07:00
thread.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
thread_nt.h Fix typo in thread_nt.h code comment (GH-5211) 2018-01-17 15:21:01 -08:00
thread_pthread.h bpo-32593: Drop FreeBSD 9 and older support (#5232) 2018-01-22 18:32:50 +01:00
traceback.c bpo-34588: Fix an off-by-one error in traceback formatting. (GH-9077) 2018-09-10 09:00:08 -07:00
wordcode_helpers.h bpo-31338 (#3374) 2017-09-14 18:13:16 -07:00

README

Miscellaneous source files for the main Python shared library