[Python-checkins] [python/cpython] 04f77d: [3.6] bpo-29854: Fix segfault in call_readline() (...

GitHub noreply at github.com
Sat Jul 8 14:51:22 EDT 2017


  Branch: refs/heads/3.6
  Home:   https://github.com/python/cpython
  Commit: 04f77d4677e7508b6ec8de9d0331fdabbcd11d30
      https://github.com/python/cpython/commit/04f77d4677e7508b6ec8de9d0331fdabbcd11d30
  Author: Nir Soffer <nirsof at gmail.com>
  Date:   2017-07-08 (Sat, 08 Jul 2017)

  Changed paths:
    M Lib/test/test_readline.py
    A Misc/NEWS.d/next/Library/2017-07-07-02-18-57.bpo-29854.J8wKb_.rst
    M Modules/readline.c

  Log Message:
  -----------
  [3.6] bpo-29854: Fix segfault in call_readline() (GH-728)

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.




More information about the Python-checkins mailing list