diff options
author | Damien George <damien@micropython.org> | 2023-11-21 22:28:57 +1100 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2023-11-21 22:28:57 +1100 |
commit | f397a3ec318f3ad05aa287764ae7cef32202380f (patch) | |
tree | 97fad3f7e5d4d9e5b746f790fc5a42a9eafc9df8 /py/objslice.c | |
parent | fce8d9fd55409ab1027beee5671bc653fb5beb97 (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.c | 2 |
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); |