Serhiy Storchaka added the comment:

In very rare circumstances it is possible that after a series of modifications 
using raw dict methods, ma_keys becomes to point to the same address, but 
allocated keys array has different size. But the guard in _odict_get_index uses 
only the address as resize sentinel. This can cause segmentation error if found 
key index is larger than the size of od_fast_nodes. Following patch adds the 
value of keys->dk_size as a sentinel.

----------
Added file: http://bugs.python.org/file40841/odict_resize_sentinel.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25410>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to