Staging
v0.5.1
v0.5.1
https://github.com/python/cpython
Revision 68c3724651776f4ae90ed24d70cef6fd45bc7db5 authored by Nir Soffer on 09 July 2017, 10:42:35 UTC, committed by Berker Peksag on 09 July 2017, 10:42:35 UTC
If history-length is set in .inputrc, and the history file is double the history size (or more), history_get(N) returns NULL, and python segfaults. Fix that by checking for NULL return value. It seems that the root cause is incorrect handling of bigger history in readline, but Python should not segfault even if readline returns unexpected value. This issue affects only GNU readline. When using libedit emulation system history size option does not work.
1 parent 3bbdf99
Tip revision: 68c3724651776f4ae90ed24d70cef6fd45bc7db5 authored by Nir Soffer on 09 July 2017, 10:42:35 UTC
[3.5] bpo-29854: Fix segfault in call_readline() (GH-728)
[3.5] bpo-29854: Fix segfault in call_readline() (GH-728)
Tip revision: 68c3724
File | Mode | Size |
---|---|---|
clinic | ||
Python-ast.c | -rw-r--r-- | 250.4 KB |
README | -rw-r--r-- | 62 bytes |
_warnings.c | -rw-r--r-- | 32.6 KB |
asdl.c | -rw-r--r-- | 1.4 KB |
ast.c | -rw-r--r-- | 124.8 KB |
bltinmodule.c | -rw-r--r-- | 79.3 KB |
ceval.c | -rw-r--r-- | 166.6 KB |
ceval_gil.h | -rw-r--r-- | 8.9 KB |
codecs.c | -rw-r--r-- | 45.0 KB |
compile.c | -rw-r--r-- | 134.0 KB |
condvar.h | -rw-r--r-- | 11.0 KB |
dtoa.c | -rw-r--r-- | 81.3 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-- | 30.5 KB |
fileutils.c | -rw-r--r-- | 45.5 KB |
formatter_unicode.c | -rw-r--r-- | 48.7 KB |
frozen.c | -rw-r--r-- | 1.7 KB |
frozenmain.c | -rw-r--r-- | 2.7 KB |
future.c | -rw-r--r-- | 4.7 KB |
getargs.c | -rw-r--r-- | 54.0 KB |
getcompiler.c | -rw-r--r-- | 366 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-- | 42.5 KB |
import.c | -rw-r--r-- | 59.8 KB |
importdl.c | -rw-r--r-- | 6.9 KB |
importdl.h | -rw-r--r-- | 487 bytes |
importlib.h | -rw-r--r-- | 102.6 KB |
importlib_external.h | -rw-r--r-- | 136.8 KB |
makeopcodetargets.py | -rwxr-xr-x | 1.2 KB |
marshal.c | -rw-r--r-- | 48.9 KB |
modsupport.c | -rw-r--r-- | 14.7 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-- | 25.1 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-- | 44.1 KB |
pymath.c | -rw-r--r-- | 1.5 KB |
pystate.c | -rw-r--r-- | 25.5 KB |
pystrcmp.c | -rw-r--r-- | 613 bytes |
pystrhex.c | -rw-r--r-- | 1.6 KB |
pystrtod.c | -rw-r--r-- | 38.2 KB |
pythonrun.c | -rw-r--r-- | 42.0 KB |
pytime.c | -rw-r--r-- | 16.2 KB |
random.c | -rw-r--r-- | 16.7 KB |
sigcheck.c | -rw-r--r-- | 529 bytes |
strdup.c | -rw-r--r-- | 247 bytes |
structmember.c | -rw-r--r-- | 8.7 KB |
symtable.c | -rw-r--r-- | 55.5 KB |
sysmodule.c | -rw-r--r-- | 66.5 KB |
thread.c | -rw-r--r-- | 12.4 KB |
thread_foobar.h | -rw-r--r-- | 2.2 KB |
thread_nt.h | -rw-r--r-- | 10.3 KB |
thread_pthread.h | -rw-r--r-- | 17.6 KB |
traceback.c | -rw-r--r-- | 19.3 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...