Berry assigment to list with negative index (#20537)

This commit is contained in:
s-hadinger 2024-01-18 22:01:39 +01:00 committed by GitHub
parent c0a78212a4
commit 06c2d78d5f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 3 deletions

View File

@ -31,6 +31,7 @@ All notable changes to this project will be documented in this file.
- Web file upload response on upload error (#20340)
- ESP32 shutter exception 6 (divide by zero) on ``ShutterMode 4`` (#20524)
- GPIOViewer exception 3
- Berry assigment to list with negative index
### Removed
- Max number of 30 backlog entries

View File

@ -731,10 +731,13 @@ BERRY_API bbool be_getindex(bvm *vm, int index)
static bvalue* list_setindex(blist *list, bvalue *key)
{
int idx = var_toidx(key);
if (idx < be_list_count(list)) {
return be_list_at(list, idx);
if (idx < 0) {
idx = list->count + idx;
}
return NULL;
if (idx < 0 || idx >= list->count) {
return NULL;
}
return be_list_at(list, idx);
}
BERRY_API bbool be_setindex(bvm *vm, int index)