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>
This commit is contained in:
Damien George
2023-11-21 22:28:57 +11:00
parent fce8d9fd55
commit f397a3ec31
2 changed files with 6 additions and 1 deletions

View File

@@ -25,3 +25,8 @@ print(A()[2:7:2].indices(5))
print(A()[2:7:-2].indices(5))
print(A()[7:2:2].indices(5))
print(A()[7:2:-2].indices(5))
try:
print(A()[::].indices(None))
except TypeError:
print("TypeError")