cpython/Lib
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
..
asyncio bpo-34970: Protect tasks weak set manipulation in asyncio.all_tasks() (GH-9837) (GH-9849) 2018-10-20 00:37:51 -04:00
collections bpo-25988: Emit a warning when use or import ABCs from 'collections'. (GH-5734) 2018-02-18 17:40:59 +00:00
concurrent bpo-35133: Fix mistakes when concatenate string literals on different lines. (GH-10284) 2018-11-05 06:52:58 -08:00
ctypes Use assertEqual() instead of assertEquals(). (GH-9721) (GH-9725) 2018-10-05 21:46:24 +03:00
curses
dbm
distutils bpo-35133: Fix mistakes when concatenate string literals on different lines. (GH-10284) 2018-11-05 06:52:58 -08:00
email bpo-35133: Fix mistakes when concatenate string literals on different lines. (GH-10284) 2018-11-05 06:52:58 -08:00
encodings bpo-32943: Fix confusing error message for rot13 codec (GH-5869) 2018-03-24 21:30:39 -07:00
ensurepip Improve ensurepip's --help (GH-4686) (GH-7238) 2018-05-30 10:34:32 +02:00
html
http bpo-33365: print the header values beside the keys (GH-6611) 2018-06-19 06:52:36 -07:00
idlelib bpo-33000: Document that IDLE's shell has no line limit. (GH-10373) 2018-11-06 21:06:54 -08:00
importlib bpo-35133: Fix mistakes when concatenate string literals on different lines. (GH-10284) 2018-11-05 06:52:58 -08:00
json bpo-30877: Fix clearing a cache in the the JSON decoder. (GH-7048) 2018-05-22 06:03:10 -07:00
lib2to3 bpo-16965: 2to3 now rewrites execfile() to open with 'rb'. (GH-8569) 2018-10-13 02:48:18 -07:00
logging bpo-35046: do only one system call per line (logging.StreamHandler) (GH-10042) (GH-10050) 2018-10-23 11:07:06 +01:00
msilib bpo-34251: Restore msilib.Win64 to preserve compatibility (GH-8510) 2018-07-28 17:14:44 -07:00
multiprocessing bpo-34172: multiprocessing.Pool leaks resources after being deleted (GH-8450) (GH-9676) 2018-10-02 23:17:04 +02:00
pydoc_data 3.7.1final 2018-10-20 02:04:19 -04:00
site-packages
sqlite3 Spelling fixes to docs, docstrings, and comments (GH-6374) 2018-04-20 14:00:41 -07:00
test bpo-35193: Fix an off by one error in the RETURN_VALUE case. (GH-10418) 2018-11-08 18:13:14 -08:00
tkinter [3.7] Fix checking for bugfix Tcl version. (GH-10185) (GH-10186) 2018-10-28 20:57:04 +02:00
turtledemo bpo-14117: Make minor tweaks to turtledemo (GH-8002) 2018-06-28 22:30:44 -07:00
unittest bpo-35133: Fix mistakes when concatenate string literals on different lines. (GH-10284) 2018-11-05 06:52:58 -08:00
urllib bpo-34866: Adding max_num_fields to cgi.FieldStorage (GH-9660) 2018-10-19 04:11:16 -07:00
venv Revert "bpo-32409: Fix regression in activate.bat on international Windows (GH-10295)" (GH-10403) 2018-11-07 16:13:58 -08:00
wsgiref Remove tiny bit of deadcode from wsgiref.validate (#3996) 2017-10-31 00:07:36 -04:00
xml bpo-34791: xml package obeys ignore env flags (GH-9544) (GH-9545) 2018-10-20 01:09:01 +02:00
xmlrpc bpo-33911: Fixed deprecation warning in xmlrpc.server (GH-7847) (GH-8294) 2018-07-16 11:02:23 +02:00
__future__.py String annotations [PEP 563] (#4390) 2018-01-26 08:20:18 -08:00
__phello__.foo.py
_bootlocale.py bpo-29240: PEP 540: Add a new UTF-8 Mode (#855) 2017-12-13 12:29:09 +01:00
_collections_abc.py bpo-32467: Let collections.abc.ValuesView inherit from Collection (#5152) 2018-01-11 21:53:49 -08:00
_compat_pickle.py
_compression.py
_dummy_thread.py Restore dummy_threading and _dummy_thread, but deprecate them (bpo-31370) (#3648) 2017-09-18 22:04:20 +02:00
_markupbase.py
_osx_support.py
_py_abc.py bpo-33018: Improve issubclass() error checking and message. (GH-5944) 2018-03-22 04:49:26 -07:00
_pydecimal.py bpo-35133: Fix mistakes when concatenate string literals on different lines. (GH-10284) 2018-11-05 06:52:58 -08:00
_pyio.py bpo-25862: Fix assertion failures in io.TextIOWrapper.tell(). (GH-3918) 2018-06-29 03:34:34 -07:00
_sitebuiltins.py
_strptime.py Spelling fixes to docs, docstrings, and comments (GH-6374) 2018-04-20 14:00:41 -07:00
_threading_local.py Delete a broken threading.local example (GH-5870) 2018-02-25 07:23:25 -08:00
_weakrefset.py
abc.py bpo-31333: Re-implement ABCMeta in C (GH-5733) 2018-02-18 17:39:43 +00:00
aifc.py bpo-32056: Improve exceptions in aifc, wave and sunau. (GH-5951) 2018-03-18 13:50:41 -07:00
antigravity.py Change the xkcd link in comment over https. (GH-9293) 2018-09-14 09:28:07 -07:00
argparse.py bpo-11874: fix assertion failure in argparse metavar handling (GH-1826) 2018-06-08 04:33:50 -07:00
ast.py bpo-33851: Fix ast.get_docstring() for a node that lacks a docstring. (GH-7682) 2018-06-15 01:25:13 -07:00
asynchat.py
asyncore.py bpo-29639: change test.support.HOST to "localhost" 2017-09-09 00:30:15 -07:00
base64.py bpo-34164: Fix handling of incorrect padding in base64.b32decode(). (GH-8351) (GH-8435) 2018-07-24 13:53:39 +03:00
bdb.py bpo-34906: Doc: Fix typos (GH-9712) 2018-10-05 07:35:18 -07:00
binhex.py
bisect.py
bz2.py bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
calendar.py Closes bpo-28281: Remove year (1-9999) limits on the weekday() function. (#4109) 2017-10-26 15:34:11 -04:00
cgi.py bpo-35028: cgi: Fix max_num_fields off by one error (GH-9973) 2018-10-23 03:54:52 -07:00
cgitb.py bpo-33256: Replace angle brackets around python object repr to display it in html (GH-6442) 2018-04-29 12:10:12 -07:00
chunk.py
cmd.py
code.py
codecs.py bpo-32110: codecs.StreamReader.read(n) now returns not more than n (#4499) 2017-11-29 01:30:00 +02:00
codeop.py
colorsys.py
compileall.py closes bpo-31650: PEP 552 (Deterministic pycs) implementation (#4575) 2017-12-09 10:26:52 -08:00
configparser.py bpo-27351: Fix ConfigParser.read() documentation and docstring (GH-8123) 2018-09-29 10:33:05 -06:00
contextlib.py bpo-30306: release arguments of contextmanager (GH-1500) 2018-01-28 14:17:46 +10:00
contextvars.py bpo-32436: Implement PEP 567 (#5027) 2018-01-22 19:11:18 -05:00
copy.py
copyreg.py bpo-31107: Fix copyreg mangled slot names calculation. (#2989) 2017-08-04 11:45:00 +03:00
cProfile.py [3.7] bpo-23420: Verify the value of '-s' when execute the CLI of cProfile (GH-9925) (GH-9926) 2018-10-17 04:48:05 -07:00
crypt.py bpo-31702: Allow to specify rounds for SHA-2 hashing in crypt.mksalt(). (#4110) 2017-11-16 13:22:51 +02:00
csv.py bpo-30157: Fix csv.Sniffer.sniff() regex pattern. (GH-5601) (GH-5602) 2018-02-10 00:00:48 +02:00
dataclasses.py bpo-33947: dataclasses no longer can raise RecursionError in repr (GF9916) (#9970) 2018-10-19 13:28:30 -04:00
datetime.py bpo-34454: Clean up datetime.fromisoformat surrogate handling (GH-8959) 2018-10-22 15:35:15 -07:00
decimal.py
difflib.py bpo-33224: PEP 479 fix for difflib.mdiff() (GH-6381) (GH-6390) 2018-04-05 11:45:33 -07:00
dis.py bpo-31183: dis now handles coroutines & async generators (GH-3077) 2017-08-18 12:29:21 +10:00
doctest.py bpo-25054, bpo-1647489: Added support of splitting on zerowidth patterns. (#4471) 2017-12-04 14:29:05 +02:00
dummy_threading.py Restore dummy_threading and _dummy_thread, but deprecate them (bpo-31370) (#3648) 2017-09-18 22:04:20 +02:00
enum.py bpo-34536: raise error for invalid _missing_ results (GH-9147) (GH-9978) 2018-10-19 16:49:30 -07:00
filecmp.py
fileinput.py bpo-31281: Fix pathlib.Path incompatibility in fileinput (gh-3208) 2017-09-04 13:37:24 -04:00
fnmatch.py bpo-32775: Fix regular expression warnings in fnmatch. (GH-5583) (GH-5596) 2018-02-09 13:56:50 +02:00
formatter.py
fractions.py
ftplib.py [3.7] bpo-35128: Fix spacing issues in warning.warn() messages. (GH-10268). (GH-10280) 2018-11-01 14:19:23 +02:00
functools.py bpo-33967: Fix singledispatch raised IndexError when no args (GH-8184) 2018-07-10 00:48:57 -07:00
genericpath.py
getopt.py
getpass.py
gettext.py bpo-30152: Reduce the number of imports for argparse. (#1269) 2017-09-26 00:55:55 +03:00
glob.py
gzip.py Replace KB unit with KiB (#4293) 2017-11-08 14:44:44 -08:00
hashlib.py [3.7] bpo-33729: Fix issues with arguments parsing in hashlib. (GH-8346) (GH-8581) 2018-07-31 10:22:44 +03:00
heapq.py Improve clarity (and small speed-up) by using tuple unpacking (#3289) 2017-09-04 11:47:58 -07:00
hmac.py bpo-33604: Remove Pending from hmac Deprecation warning. (GH-7062) 2018-05-22 16:40:44 -07:00
imaplib.py [3.7] bpo-35128: Fix spacing issues in warning.warn() messages. (GH-10268). (GH-10280) 2018-11-01 14:19:23 +02:00
imghdr.py
imp.py closes bpo-34056: Always return bytes from _HackedGetData.get_data(). (GH-8130) 2018-07-06 21:00:45 -07:00
inspect.py bpo-33594: Add deprecation info in inspect.py module (GH-7036) 2018-10-19 17:05:49 -07:00
io.py
ipaddress.py bpo-27683: Fix a regression for host() of ipaddress network objects (GH-6016) 2018-03-20 18:22:23 -07:00
keyword.py bpo-30406: Make async and await proper keywords (#1669) 2017-10-05 23:24:46 -04:00
linecache.py
locale.py [3.7] bpo-20087: Update locale alias mapping with glibc 2.27 supported locales. (GH-6708) (GH-6713) 2018-05-06 10:20:12 +03:00
lzma.py
macpath.py bpo-31802: Fix importing native path module before importing os. (#4017) 2018-01-07 17:54:31 +02:00
mailbox.py
mailcap.py
mimetypes.py bpo-22589 Changed MIME type of .bmp to "image/bmp" (#4756) 2017-12-08 07:48:44 -05:00
modulefinder.py closes bpo-31650: PEP 552 (Deterministic pycs) implementation (#4575) 2017-12-09 10:26:52 -08:00
netrc.py bpo-28334: netrc() now uses expanduser() to find .netrc file (GH-4537) 2017-11-25 13:37:22 +03:00
nntplib.py
ntpath.py [3.7] bpo-31047: Fix ntpath.abspath to trim ending separator (GH-10082) 2018-10-25 13:46:23 -04:00
nturl2path.py
numbers.py Fix miscellaneous typos (#4275) 2017-11-05 15:37:50 +02:00
opcode.py [3.7] bpo-32746: Fix multiple typos (GH-5144) (GH-5520) 2018-02-03 20:41:43 -05:00
operator.py
optparse.py
os.py bpo-32297: Few misspellings found in Python source code comments. (#4803) 2017-12-14 13:04:53 +02:00
pathlib.py bpo-33635: Handling Bad file descriptor in Path.is_file and related. (GH-8542) 2018-08-27 18:37:18 -04:00
pdb.py [3.7] bpo-32691: Use mod_spec.parent when running modules with pdb (GH-5510) 2018-02-04 18:07:16 +10:00
pickle.py bpo-32503: Avoid creating too small frames in pickles. (#5127) 2018-01-20 16:42:44 +02:00
pickletools.py Fix pickletools doc for NEWFALSE. (GH-9432) 2018-09-25 22:19:08 -07:00
pipes.py
pkgutil.py closes bpo-31650: PEP 552 (Deterministic pycs) implementation (#4575) 2017-12-09 10:26:52 -08:00
platform.py [3.7] bpo-26544: Get rid of dependence from distutils in platform. (GH-8356). (GH-8970) 2018-09-04 17:31:18 +03:00
plistlib.py bpo-32072: Fix issues with binary plists. (#4455) 2017-11-30 23:26:11 +02:00
poplib.py [3.7] bpo-35128: Fix spacing issues in warning.warn() messages. (GH-10268). (GH-10280) 2018-11-01 14:19:23 +02:00
posixpath.py bpo-31802: Fix importing native path module before importing os. (#4017) 2018-01-07 17:54:31 +02:00
pprint.py
profile.py time.clock() now emits a DeprecationWarning (GH-4020) 2017-10-17 14:46:45 -07:00
pstats.py Revert unneccessary changes made in bpo-30296 and apply other improvements. (GH-2624) 2018-02-26 08:22:24 -08:00
pty.py
py_compile.py bpo-29708: Setting SOURCE_DATE_EPOCH forces hash-based .pyc files (GH-5200) 2018-01-24 13:26:18 -08:00
pyclbr.py bpo-6691: Pyclbr now reports nested classes and functions. (#2503) 2017-07-03 21:31:25 -04:00
pydoc.py bpo-34966: Improve support of method aliases in pydoc. (GH-9823) 2018-11-07 23:08:05 -08:00
queue.py bpo-14976: Reentrant simple queue (#3346) 2018-01-16 00:27:16 +01:00
quopri.py
random.py bpo-24567: Random subnormal.diff (GH-7954) (GH-7955) 2018-06-27 01:53:04 -07:00
re.py bpo-32338: OrderedDict import is no longer needed in re. (GH-4891) 2018-03-10 23:01:58 -08:00
reprlib.py bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
rlcompleter.py
runpy.py
sched.py bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
secrets.py
selectors.py
shelve.py Fix misleading docsting of shelve.open(). (GH-6427) 2018-04-09 07:57:31 -07:00
shlex.py
shutil.py [3.7] bpo-34260, shutil: fix copy2 and copystat documentation (GH-8523) (GH-10065) 2018-10-23 23:57:55 +02:00
signal.py
site.py bpo-19891: Ignore error while writing history file (GH-8483) 2018-08-06 02:03:43 -07:00
smtpd.py
smtplib.py [3.7] bpo-35128: Fix spacing issues in warning.warn() messages. (GH-10268). (GH-10280) 2018-11-01 14:19:23 +02:00
sndhdr.py bpo-31985: Deprecate openfp in aifc, sunau, and wave (#4344) 2017-11-10 11:38:25 -05:00
socket.py bpo-28134: Auto-detect socket values from file descriptor (#1349) 2018-01-29 22:37:58 +01:00
socketserver.py bpo-35017, socketserver: don't accept request after shutdown (GH-9952) 2018-10-26 07:06:39 -07:00
sre_compile.py bpo-31690: Allow the inline flags "a", "L", and "u" to be used as group flags for RE. (#3885) 2017-10-24 23:31:42 +03:00
sre_constants.py bpo-31690: Allow the inline flags "a", "L", and "u" to be used as group flags for RE. (#3885) 2017-10-24 23:31:42 +03:00
sre_parse.py bpo-30349: Raise FutureWarning for nested sets and set operations (#1553) 2017-11-16 12:38:26 +02:00
ssl.py Fix a typo ssl.py docstring (GH-9697) (GH-9709) 2018-10-05 10:33:36 +03:00
stat.py
statistics.py
string.py bpo-31672: Restore the former behavior when override flags in Template. (#5099) 2018-01-04 19:20:11 +02:00
stringprep.py
struct.py
subprocess.py bpo-34044: subprocess.Popen copies startupinfo (GH-8090) (GH-8121) 2018-07-05 23:15:28 +02:00
sunau.py bpo-32056: Improve exceptions in aifc, wave and sunau. (GH-5951) 2018-03-18 13:50:41 -07:00
symbol.py bpo-30406: Make async and await proper keywords (#1669) 2017-10-05 23:24:46 -04:00
symtable.py
sysconfig.py remove support for BSD/OS (closes bpo-31624) (#3812) 2017-09-28 22:44:27 -07:00
tabnanny.py
tarfile.py bpo-34010: Fix tarfile read performance regression (GH-8020) 2018-07-04 01:32:41 -07:00
telnetlib.py bpo-30397: Add re.Pattern and re.Match. (#1646) 2017-10-04 20:09:49 +03:00
tempfile.py bpo-33522: Enable CI builds on Visual Studio Team Services (GH-6865) (GH-6926) 2018-05-17 08:49:01 -04:00
textwrap.py
this.py
threading.py bpo-33556: Remove reference to thread module from docstring (GH-6963) 2018-05-18 14:46:43 -05:00
timeit.py bpo-28240: timeit: Update repeat() doc (GH-7419) (GH-7457) 2018-06-06 19:05:46 +02:00
token.py bpo-33260: Regenerate token.py after removing ASYNC and AWAIT. (GH-6447) 2018-04-11 10:07:23 -07:00
tokenize.py [3.7] bpo-33899: Make tokenize module mirror end-of-file is end-of-line behavior (GH-7891) (GH-8132) 2018-07-06 13:21:05 +03:00
trace.py bpo-35133: Fix mistakes when concatenate string literals on different lines. (GH-10284) 2018-11-05 06:52:58 -08:00
traceback.py bpo-34588: Fix an off-by-one error in traceback formatting. (GH-9077) 2018-09-10 09:00:08 -07:00
tracemalloc.py bpo-32121: Add most_recent_first parameter to tracemalloc.Traceback.format (#4534) 2017-11-30 00:05:07 +01:00
tty.py
turtle.py Revert unneccessary changes made in bpo-30296 and apply other improvements. (GH-2624) 2018-02-26 08:22:24 -08:00
types.py bpo-32265: Classify class and static methods of builtin types. (#4776) 2017-12-15 14:13:41 +02:00
typing.py Fix typo in typing.py module docstring (GH-9014) 2018-09-01 05:15:40 -04:00
uu.py
uuid.py [3.7] bpo-34621: fix uuid.UUID (un)pickling compatbility with older Python versions (<3.7) (GH-9133) 2018-09-10 18:47:29 +03:00
warnings.py bpo-32591: Add native coroutine origin tracking (#5250) 2018-01-21 09:44:07 -05:00
wave.py bpo-32056: Improve exceptions in aifc, wave and sunau. (GH-5951) 2018-03-18 13:50:41 -07:00
weakref.py bpo-30152: Reduce the number of imports for argparse. (#1269) 2017-09-26 00:55:55 +03:00
webbrowser.py bpo-31014: Fix the webbrowser module. (GH-7267) 2018-07-08 01:09:21 -07:00
xdrlib.py
zipapp.py bpo-31638: Add compression support to zipapp (GH-3819) 2017-09-29 18:31:52 +01:00
zipfile.py bpo-34472: Add data descriptor signature to zipfile (GH-8871) (GH-9399) 2018-09-22 21:03:04 +03:00