]> granicus.if.org Git - python/commit
bpo-25862: Fix several bugs in the _io module. (GH-8026)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 30 Jun 2018 18:25:37 +0000 (11:25 -0700)
committerGitHub <noreply@github.com>
Sat, 30 Jun 2018 18:25:37 +0000 (11:25 -0700)
commitdedb28efd84314d899f795e821a3fc27d2f928e7
tree19568d821f293b3cd5bdcaf267b1d0ff0fc951d0
parentfd1c092bb9fee46d8d543710973c69a0e93a697a
bpo-25862: Fix several bugs in the _io module. (GH-8026)

They can be exposed when some C API calls fail due to lack of
memory.

* Failed Py_BuildValue() could cause an assertion error in the
  following TextIOWrapper.tell().
* input_chunk could be decrefed twice in TextIOWrapper.seek()
  after failed Py_BuildValue().
* initvalue could leak in StringIO.__getstate__() after failed
  PyDict_Copy().
(cherry picked from commit fdb5a50ef34f7951c3b01eb77b1359725a9ad670)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Modules/_io/stringio.c
Modules/_io/textio.c