Skip to content

Commit 2b7c81b

Browse files
authored
Merge pull request #6515 from FoamyGuy/palette_index_fix
palette_index validation in Palette functions
2 parents f9bbd05 + a45de19 commit 2b7c81b

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

shared-bindings/displayio/Palette.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ STATIC mp_obj_t displayio_palette_obj_make_transparent(mp_obj_t self_in, mp_obj_
160160
if (!mp_obj_get_int_maybe(palette_index_obj, &palette_index)) {
161161
mp_raise_ValueError(translate("palette_index should be an int"));
162162
}
163+
palette_index = mp_arg_validate_int_range(palette_index, 0, common_hal_displayio_palette_get_len(self) - 1, MP_QSTR_palette_index);
164+
163165
common_hal_displayio_palette_make_transparent(self, palette_index);
164166
return mp_const_none;
165167
}
@@ -175,6 +177,8 @@ STATIC mp_obj_t displayio_palette_obj_make_opaque(mp_obj_t self_in, mp_obj_t pal
175177
if (!mp_obj_get_int_maybe(palette_index_obj, &palette_index)) {
176178
mp_raise_ValueError(translate("palette_index should be an int"));
177179
}
180+
palette_index = mp_arg_validate_int_range(palette_index, 0, common_hal_displayio_palette_get_len(self) - 1, MP_QSTR_palette_index);
181+
178182
common_hal_displayio_palette_make_opaque(self, palette_index);
179183
return mp_const_none;
180184
}
@@ -191,6 +195,8 @@ STATIC mp_obj_t displayio_palette_obj_is_transparent(mp_obj_t self_in, mp_obj_t
191195
if (!mp_obj_get_int_maybe(palette_index_obj, &palette_index)) {
192196
mp_raise_ValueError(translate("palette_index should be an int"));
193197
}
198+
palette_index = mp_arg_validate_int_range(palette_index, 0, common_hal_displayio_palette_get_len(self) - 1, MP_QSTR_palette_index);
199+
194200
return mp_obj_new_bool(common_hal_displayio_palette_is_transparent(self, palette_index));
195201
}
196202
MP_DEFINE_CONST_FUN_OBJ_2(displayio_palette_is_transparent_obj, displayio_palette_obj_is_transparent);

0 commit comments

Comments
 (0)