diff options
author | Simon Gibbons <simongibbons@gmail.com> | 2016-06-09 13:11:53 +0100 |
---|---|---|
committer | Simon Gibbons <simongibbons@gmail.com> | 2016-06-10 13:42:38 +0100 |
commit | 5657a6cd5ed1c54986f697660c6336d2fb2b1c21 (patch) | |
tree | 08179c3589e3f1f12bc44b323521f4ff8d325b67 /numpy/core/numeric.py | |
parent | d69c1470ed09f18293b9a9dec1809e14b5b9b779 (diff) | |
download | numpy-5657a6cd5ed1c54986f697660c6336d2fb2b1c21.tar.gz |
BUG: Fix segfaults in np.random.shuffle
np.random.shuffle will allocate a buffer based on the size of the first
element of an array of strings. If the first element is smaller than
another in the array this buffer will overflow, causing a segfault
when garbage is collected.
Additionally if the array contains objects then one would be left
in the buffer and have it's refcount erroniously decrimented on
function exit, causing that object to be deallocated too early.
To fix this we change the buffer to be an array of int8 of the
the size of the array's dtype, which sidesteps both issues.
Fixes #7710
Diffstat (limited to 'numpy/core/numeric.py')
0 files changed, 0 insertions, 0 deletions