Skip to content

Commit 9a013f8

Browse files
committed
Adds one last input guard.
1 parent 49742b3 commit 9a013f8

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/_arraykit.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -619,6 +619,11 @@ get_new_indexers_and_screen(PyObject *Py_UNUSED(m), PyObject *args, PyObject *kw
619619
return NULL;
620620
}
621621

622+
if (PyArray_NDIM(positions) != 1) {
623+
PyErr_SetString(PyExc_ValueError, "positions must be 1-dimensional");
624+
return NULL;
625+
}
626+
622627
if (PyArray_TYPE(indexers) != NPY_INT64) {
623628
PyErr_SetString(PyExc_ValueError, "Array must be of type np.int64");
624629
return NULL;

test/test_util.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,9 @@ def test_get_new_indexers_and_screen_b(self) -> None:
427427
with self.assertRaises(ValueError):
428428
get_new_indexers_and_screen(indexersA.astype(np.int32), np.arange(5))
429429

430+
with self.assertRaises(ValueError):
431+
get_new_indexers_and_screen(indexersA, np.arange(5).astype(np.int32))
432+
430433
indexersB = np.arange(25, dtype=np.int64)
431434
postB = get_new_indexers_and_screen(indexersB, indexersB)
432435
assert tuple(map(list, postB)) == (list(indexersB), list(indexersB))

0 commit comments

Comments
 (0)