diff options
author | Allan Haldane <allan.haldane@gmail.com> | 2015-09-27 20:25:17 -0400 |
---|---|---|
committer | Allan Haldane <allan.haldane@gmail.com> | 2018-09-27 12:42:51 -0400 |
commit | 351e4b69260e0f2d0093e4cb67b42b54b4becfac (patch) | |
tree | ed26a7dbf90b8359d474e781c1bff42b70932169 | |
parent | 5f2a5ae02dee34469d27896249f71deaa0c6de24 (diff) | |
download | numpy-351e4b69260e0f2d0093e4cb67b42b54b4becfac.tar.gz |
BUG: _strided_masked_wrapper_transfer_function goes out of bounds
-rw-r--r-- | numpy/core/src/multiarray/dtype_transfer.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/numpy/core/src/multiarray/dtype_transfer.c b/numpy/core/src/multiarray/dtype_transfer.c index 2cb1e0a95..97d899ce0 100644 --- a/numpy/core/src/multiarray/dtype_transfer.c +++ b/numpy/core/src/multiarray/dtype_transfer.c @@ -2965,6 +2965,10 @@ static void _strided_masked_wrapper_decsrcref_transfer_function( dst += subloopsize * dst_stride; src += subloopsize * src_stride; N -= subloopsize; + if (N <= 0) { + break; + } + /* Process unmasked values */ mask = (npy_bool*)npy_memchr((char *)mask, 0, mask_stride, N, &subloopsize, 0); @@ -3000,6 +3004,10 @@ static void _strided_masked_wrapper_transfer_function( dst += subloopsize * dst_stride; src += subloopsize * src_stride; N -= subloopsize; + if (N <= 0) { + break; + } + /* Process unmasked values */ mask = (npy_bool*)npy_memchr((char *)mask, 0, mask_stride, N, &subloopsize, 0); |