]> 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:50 +0000 (11:25 -0700)
committerGitHub <noreply@github.com>
Sat, 30 Jun 2018 18:25:50 +0000 (11:25 -0700)
commite5153d0d404d58e83d802199bea1a8dd0ea5178e
tree1e6b1a68fb8c09f5aa203845e6d409c5ebb8fc87
parentdb7ac30ef52ce35a4ead1bc1b9f0dd5331ed9779
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