logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git
commit: 3cf328c64419db714c253eb764166c8cf3be2f17
parent c26449e64f18940c0a57e459eeae465b26502b64
Author: Joel Challis <git@zvecr.com>
Date:   Mon, 28 Apr 2025 22:37:50 +0100

amptrics/0422 - Prevent OOB in `update_leds_for_layer` (#25209)


Diffstat:

Mkeyboards/amptrics/0422/0422.c13+++++++------
1 file changed, 7 insertions(+), 6 deletions(-)

diff --git 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]); }