summaryrefslogtreecommitdiff
path: root/py/objslice.c
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2023-11-21 22:28:57 +1100
committerDamien George <damien@micropython.org>2023-11-21 22:28:57 +1100
commitf397a3ec318f3ad05aa287764ae7cef32202380f (patch)
tree97fad3f7e5d4d9e5b746f790fc5a42a9eafc9df8 /py/objslice.c
parentfce8d9fd55409ab1027beee5671bc653fb5beb97 (diff)
py/objslice: Validate that the argument to indices() is an integer.
Otherwise passing in a non-integer can lead to an invalid memory access. Thanks to Junwha Hong and Wonil Jang @S2Lab, UNIST for finding the issue. Fixes issue #13007. Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'py/objslice.c')
-rw-r--r--py/objslice.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/py/objslice.c b/py/objslice.c
index 75fa3bc3f..dcd6af8b2 100644
--- a/py/objslice.c
+++ b/py/objslice.c
@@ -54,7 +54,7 @@ STATIC mp_obj_t slice_unary_op(mp_unary_op_t op, mp_obj_t o_in) {
#if MICROPY_PY_BUILTINS_SLICE_INDICES
STATIC mp_obj_t slice_indices(mp_obj_t self_in, mp_obj_t length_obj) {
- mp_int_t length = mp_obj_int_get_checked(length_obj);
+ mp_int_t length = mp_obj_get_int(length_obj);
mp_bound_slice_t bound_indices;
mp_obj_slice_indices(self_in, length, &bound_indices);