[3.6] bpo-25862: Fix several bugs in the _io module. (GH-8026) by miss-islington · Pull Request #8029 · python/cpython

@serhiy-storchaka @miss-islington

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 fdb5a50)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>

serhiy-storchaka