From 3cf328c64419db714c253eb764166c8cf3be2f17 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 28 Apr 2025 22:37:50 +0100 Subject: [PATCH] amptrics/0422 - Prevent OOB in `update_leds_for_layer` (#25209) --- keyboards/amptrics/0422/0422.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/keyboards/amptrics/0422/0422.c b/keyboards/amptrics/0422/0422.c index 034151b5b8d..4c0ed2e5b80 100644 --- a/keyboards/amptrics/0422/0422.c +++ b/keyboards/amptrics/0422/0422.c @@ -23,30 +23,31 @@ #define LED_PINS_COUNT 4 -pin_t pins[LED_PINS_COUNT] = {LED_LAYER_0, LED_LAYER_1, LED_LAYER_2, LED_LAYER_3}; - +static pin_t pins[LED_PINS_COUNT] = {LED_LAYER_0, LED_LAYER_1, LED_LAYER_2, LED_LAYER_3}; // Function to turn on all LEDs void turn_on_all_leds(void) { - for (int i = 0; i < LED_PINS_COUNT; i++) { + for (uint8_t i = 0; i < LED_PINS_COUNT; i++) { gpio_write_pin_high(pins[i]); // Turn on LED } } // Function to turn off all LEDs void turn_off_all_leds(void) { - for (int i = 0; i < LED_PINS_COUNT; i++) { + for (uint8_t i = 0; i < LED_PINS_COUNT; i++) { gpio_write_pin_low(pins[i]); // Turn off LED } } void update_leds_for_layer(uint8_t layer) { turn_off_all_leds(); - gpio_write_pin_high(pins[layer]); + if (layer < LED_PINS_COUNT) { + gpio_write_pin_high(pins[layer]); + } } void keyboard_post_init_kb(void) { - for (int i = 0; i < LED_PINS_COUNT; i++) { + for (uint8_t i = 0; i < LED_PINS_COUNT; i++) { gpio_set_pin_output(pins[i]); gpio_write_pin_low(pins[i]); }