Staging
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
History
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)
Tip revision: 68c3724
File Mode Size
Python-ast.h -rw-r--r-- 20.4 KB
Python.h -rw-r--r-- 2.8 KB
abstract.h -rw-r--r-- 42.8 KB
accu.h -rw-r--r-- 1016 bytes
asdl.h -rw-r--r-- 1.2 KB
ast.h -rw-r--r-- 477 bytes
bitset.h -rw-r--r-- 792 bytes
bltinmodule.h -rw-r--r-- 264 bytes
boolobject.h -rw-r--r-- 886 bytes
bytearrayobject.h -rw-r--r-- 2.1 KB
bytes_methods.h -rw-r--r-- 2.0 KB
bytesobject.h -rw-r--r-- 4.9 KB
cellobject.h -rw-r--r-- 701 bytes
ceval.h -rw-r--r-- 7.5 KB
classobject.h -rw-r--r-- 1.6 KB
code.h -rw-r--r-- 5.1 KB
codecs.h -rw-r--r-- 6.5 KB
compile.h -rw-r--r-- 2.1 KB
complexobject.h -rw-r--r-- 1.8 KB
datetime.h -rw-r--r-- 8.3 KB
descrobject.h -rw-r--r-- 2.8 KB
dictobject.h -rw-r--r-- 6.2 KB
dtoa.h -rw-r--r-- 458 bytes
dynamic_annotations.h -rw-r--r-- 21.9 KB
enumobject.h -rw-r--r-- 253 bytes
errcode.h -rw-r--r-- 1.5 KB
eval.h -rw-r--r-- 597 bytes
fileobject.h -rw-r--r-- 1.5 KB
fileutils.h -rw-r--r-- 2.8 KB
floatobject.h -rw-r--r-- 4.5 KB
frameobject.h -rw-r--r-- 3.4 KB
funcobject.h -rw-r--r-- 3.7 KB
genobject.h -rw-r--r-- 2.6 KB
graminit.h -rw-r--r-- 1.9 KB
grammar.h -rw-r--r-- 2.0 KB
import.h -rw-r--r-- 3.8 KB
intrcheck.h -rw-r--r-- 460 bytes
iterobject.h -rw-r--r-- 567 bytes
listobject.h -rw-r--r-- 2.8 KB
longintrepr.h -rw-r--r-- 3.9 KB
longobject.h -rw-r--r-- 8.1 KB
marshal.h -rw-r--r-- 803 bytes
memoryobject.h -rw-r--r-- 2.6 KB
metagrammar.h -rw-r--r-- 253 bytes
methodobject.h -rw-r--r-- 3.3 KB
modsupport.h -rw-r--r-- 5.9 KB
moduleobject.h -rw-r--r-- 2.1 KB
namespaceobject.h -rw-r--r-- 297 bytes
node.h -rw-r--r-- 1007 bytes
object.h -rw-r--r-- 39.1 KB
objimpl.h -rw-r--r-- 13.6 KB
odictobject.h -rw-r--r-- 1.3 KB
opcode.h -rw-r--r-- 4.8 KB
osdefs.h -rw-r--r-- 691 bytes
parsetok.h -rw-r--r-- 2.8 KB
patchlevel.h -rw-r--r-- 1.1 KB
pgen.h -rw-r--r-- 253 bytes
pgenheaders.h -rw-r--r-- 1.1 KB
py_curses.h -rw-r--r-- 4.1 KB
pyarena.h -rw-r--r-- 2.7 KB
pyatomic.h -rw-r--r-- 7.9 KB
pycapsule.h -rw-r--r-- 1.7 KB
pyctype.h -rw-r--r-- 1.3 KB
pydebug.h -rw-r--r-- 1.1 KB
pyerrors.h -rw-r--r-- 15.9 KB
pyexpat.h -rw-r--r-- 2.3 KB
pyfpe.h -rw-r--r-- 8.3 KB
pygetopt.h -rw-r--r-- 388 bytes
pyhash.h -rw-r--r-- 4.2 KB
pylifecycle.h -rw-r--r-- 3.7 KB
pymacconfig.h -rw-r--r-- 2.9 KB
pymacro.h -rw-r--r-- 3.2 KB
pymath.h -rw-r--r-- 7.0 KB
pymem.h -rw-r--r-- 6.9 KB
pyport.h -rw-r--r-- 31.3 KB
pystate.h -rw-r--r-- 9.3 KB
pystrcmp.h -rw-r--r-- 436 bytes
pystrhex.h -rw-r--r-- 443 bytes
pystrtod.h -rw-r--r-- 1.2 KB
pythonrun.h -rw-r--r-- 6.5 KB
pythread.h -rw-r--r-- 3.0 KB
pytime.h -rw-r--r-- 6.5 KB
rangeobject.h -rw-r--r-- 629 bytes
setobject.h -rw-r--r-- 3.2 KB
sliceobject.h -rw-r--r-- 2.4 KB
structmember.h -rw-r--r-- 2.0 KB
structseq.h -rw-r--r-- 1.3 KB
symtable.h -rw-r--r-- 4.7 KB
sysmodule.h -rw-r--r-- 1.3 KB
token.h -rw-r--r-- 1.9 KB
traceback.h -rw-r--r-- 2.2 KB
tupleobject.h -rw-r--r-- 2.4 KB
typeslots.h -rw-r--r-- 2.2 KB
ucnhash.h -rw-r--r-- 1.0 KB
unicodeobject.h -rw-r--r-- 77.3 KB
warnings.h -rw-r--r-- 1.4 KB
weakrefobject.h -rw-r--r-- 2.8 KB

back to top