Issue 28337: Segfault in _struct.unpack_iterator

After #21224 was applied into default branch, the _struct.unpack_iterator has crashed by segfault.

reproduce segfault:
$ uname -a
Linux masayuki-P35-DS3 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:41:41 UTC 2016 i686 i686 i686 GNU/Linux
$ hg update -C -r "branch(default)"
$ ./configure --prefix=/opt/py35 --without-threads --with-system-ffi --with-system-expat
$ make
(build succeed)
$ ./python 
Python 3.7.0a0 (default:6f299f7d6643, Oct  2 2016, 17:50:08) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import struct
>>> it = struct.iter_unpack('b', b'123')
>>> type(it)
(segfault happens)