qmk_firmware/quantum
Stefan Kerkmann 1983421b7d
XAP: prevent OOB reads in config blob handler (#18926)
This fixes two bugs:

1. An invalid offset could be specified which wasn't checked to be in
   the bounds of the config blob.
2. The data_len check was incorrect as it would allow reading one byte
   past the config blob lenght.

Before the changes the following operation wouldn't fail:

Assuming we have blob of 64 bytes size and attempt a read with an
offset of 32 and data_len of 32, we actually try to read 32 bytes
starting from the 33. byte in the config blob. This reads exactly
one byte past array. Therefore we have to subtract one byte the get
the correct length.
2022-11-01 15:54:56 +00:00
..
audio In honor of king terry (#17387) 2022-06-23 02:47:15 +01:00
backlight [Core] PWM Backlight for RP2040 (#17706) 2022-10-04 23:10:24 +02:00
bootmagic Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
debounce Make debounce() signal changes in the cooked matrix as return value (#17554) 2022-07-07 10:00:40 +02:00
encoder/tests Asymmetric encoders, encoder tests. (#16068) 2022-03-08 16:58:05 +11:00
keymap_extras Relocate US ANSI shifted keycode aliases (#18634) 2022-10-07 23:36:38 +01:00
led_matrix Fix Per Key LED Indicator Callbacks (#18450) 2022-10-04 15:24:22 -07:00
logging [Fix] Patches after printf library update (#17584) 2022-07-07 14:14:09 +02:00
painter [QP] Add RGB565 surface. Docs clarification, cleanup, tabsification, and reordering. (#18396) 2022-09-19 07:30:08 +10:00
pointing_device Enabling Pointing Device support in register code functions (#18363) 2022-09-26 20:49:32 -07:00
process_keycode Normalise Unicode keycodes (#18898) 2022-10-31 21:15:12 +00:00
rgb_matrix Fix rgb_matrix_set_flags_noeeprom declaration (#18860) 2022-10-27 09:52:51 +01:00
rgblight Remove rgblight_list.h (#18878) 2022-10-27 23:50:14 +01:00
send_string Remove legacy sendstring keycodes (#18749) 2022-10-17 13:45:23 +01:00
sequencer Relocate US ANSI shifted keycode aliases (#18634) 2022-10-07 23:36:38 +01:00
split_common Implement split comms watchdog (#18599) 2022-10-06 20:52:42 +11:00
unicode Normalise Unicode keycodes (#18898) 2022-10-31 21:15:12 +00:00
wear_leveling RP2040 emulated EEPROM. (#17519) 2022-07-02 15:18:50 +10:00
xap XAP: prevent OOB reads in config blob handler (#18926) 2022-11-01 15:54:56 +00:00
action_code.h Small un/register_code() cleanups (#18544) 2022-09-30 16:29:24 -04:00
action_layer.c docs: some typos (#18582) 2022-10-05 17:32:07 +01:00
action_layer.h Make default layer size 16-bit (#15286) 2022-06-19 07:37:51 +10:00
action_tapping.c Do not enable PERMISSIVE_HOLD when TAPPING_TERM exceeds 500ms (#15674) 2022-06-24 12:40:09 +02:00
action_tapping.h Add GET_TAPPING_TERM macro to reduce duplicate code (#16681) 2022-04-16 11:24:09 -07:00
action_util.c Fix oneshot toggle logic (#16630) 2022-03-14 01:11:42 +00:00
action_util.h Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
action.c Programmable Button API refactor and improve docs (#18641) 2022-10-15 14:33:24 +11:00
action.h [Bug] Add key event check to is_tap_record and remove is_tap_key (#18063) 2022-08-15 16:40:51 +02:00
bitwise.c Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
bitwise.h Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
caps_word.c [Core] Add Caps Word feature to core (#16588) 2022-05-14 16:00:32 +10:00
caps_word.h [Core] Add Caps Word feature to core (#16588) 2022-05-14 16:00:32 +10:00
color.c Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
color.h fixed typo in orange HSV colors decalartion (#15976) 2022-01-22 06:12:14 +00:00
command.c [Fix] Patches after printf library update (#17584) 2022-07-07 14:14:09 +02:00
command.h Remove legacy keycode use from command (#18002) 2022-08-12 03:03:36 +01:00
config_common.h Remove quantum/audio from global VPATH (#18753) 2022-10-20 14:41:45 +01:00
crc.c Add CRC8 calculation subsystem to quantum (#12641) 2021-06-18 00:09:43 +01:00
crc.h Add CRC8 calculation subsystem to quantum (#12641) 2021-06-18 00:09:43 +01:00
debounce.h Make debounce() signal changes in the cooked matrix as return value (#17554) 2022-07-07 10:00:40 +02:00
deferred_exec.c Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
deferred_exec.h Advanced deferred_exec for core-side code. (#15579) 2022-01-10 18:26:46 +00:00
digitizer.c Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
digitizer.h Digitizer HID interface : absolute coordinates for mouse cursor (#12851) 2021-08-18 04:52:44 +10:00
dip_switch.c Use a macro to compute the size of arrays at compile time (#18044) 2022-08-30 10:20:04 +02:00
dip_switch.h Convert Dip Switch callbacks to boolean functions (#13399) 2021-07-01 08:22:21 -07:00
dynamic_keymap.c Merge remote-tracking branch 'origin/develop' into xap 2022-10-27 07:29:59 +00:00
dynamic_keymap.h Hash dynamic keymap at runtime 2022-07-15 03:33:34 +01:00
dynamic_macro.h [Core] Convert Dynamic Macro to a Core Feature (#5948) 2019-11-04 22:59:13 -08:00
eeconfig.c Merge remote-tracking branch 'upstream/develop' into xap 2022-11-01 15:13:23 +11:00
eeconfig.h Bad Merge 2022-11-01 15:16:25 +11:00
encoder.c Use TAP_CODE_DELAY for encoder mapping by default (#18098) 2022-08-28 21:53:08 -07:00
encoder.h Use a macro to compute the size of arrays at compile time (#18044) 2022-08-30 10:20:04 +02:00
haptic.c [Feature] Add support for multiple switchs/solenoids to Haptic Feedback engine (#15657) 2022-05-15 21:24:35 +10:00
haptic.h haptic: Feature to disable it when usb port is not configured or suspended. (#12692) 2021-11-02 16:54:29 +11:00
joystick.c Further refactoring of joystick feature (#18437) 2022-09-27 18:37:13 +10:00
joystick.h Further refactoring of joystick feature (#18437) 2022-09-27 18:37:13 +10:00
keyboard.c Programmable Button API refactor and improve docs (#18641) 2022-10-15 14:33:24 +11:00
keyboard.h [Core] Process all changed keys in one scan loop, deprecate QMK_KEYS_PER_SCAN (#15292) 2022-08-06 20:51:13 +10:00
keycode_config.c PoC: Swap Escape and Caps (#16336) 2022-07-02 22:08:48 +10:00
keycode_config.h [Core] Add getreuer's Autocorrect feature to core (#15699) 2022-09-17 17:50:54 +10:00
keycode.h Remove legacy keycodes, part 6 (#18740) 2022-10-16 14:14:40 +01:00
keymap_common.c Handle mouse keys more consistently (#18513) 2022-09-29 10:50:47 -07:00
keymap_introspection.c Start moving towards introspection-based data retrieval (#18441) 2022-09-29 18:25:55 +01:00
keymap_introspection.h Start moving towards introspection-based data retrieval (#18441) 2022-09-29 18:25:55 +01:00
keymap.h Start moving towards introspection-based data retrieval (#18441) 2022-09-29 18:25:55 +01:00
led_tables.c Remove unused LED_BREATHING_TABLE 2020-03-06 22:29:01 -08:00
led_tables.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
led.c quantum: led: split out led_update_ports() for customization of led behaviour (#14452) 2022-10-06 21:24:41 +11:00
led.h quantum: led: split out led_update_ports() for customization of led behaviour (#14452) 2022-10-06 21:24:41 +11:00
main.c Quantum Painter (#10174) 2022-04-13 18:00:18 +10:00
matrix_common.c Merge remote-tracking branch 'origin/master' into develop 2022-08-07 19:33:39 +00:00
matrix.c Make debounce() signal changes in the cooked matrix as return value (#17554) 2022-07-07 10:00:40 +02:00
matrix.h Custom matrix lite support for split keyboards (#14674) 2021-12-27 21:03:40 +11:00
mousekey.c add "inertia" mode for mouse keys (#18774) 2022-10-26 20:49:44 +01:00
mousekey.h add "inertia" mode for mouse keys (#18774) 2022-10-26 20:49:44 +01:00
pointing_device_internal.h [Core] Introduce pointing device specific debug messages (#17663) 2022-08-29 19:16:49 +02:00
programmable_button.c Programmable Button API refactor and improve docs (#18641) 2022-10-15 14:33:24 +11:00
programmable_button.h Programmable Button API refactor and improve docs (#18641) 2022-10-15 14:33:24 +11:00
quantum_keycodes_legacy.h Normalise Unicode keycodes (#18898) 2022-10-31 21:15:12 +00:00
quantum_keycodes.h Normalise Unicode keycodes (#18898) 2022-10-31 21:15:12 +00:00
quantum.c Merge remote-tracking branch 'origin/develop' into xap 2022-10-25 16:50:54 +00:00
quantum.h Merge remote-tracking branch 'origin/develop' into xap 2022-09-17 07:51:36 +00:00
raw_hid.h Relocate protocol files within tmk_core/common/ (#14972) 2021-10-28 22:31:59 +01:00
ring_buffer.h Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
secure.c Use a macro to compute the size of arrays at compile time (#18044) 2022-08-30 10:20:04 +02:00
secure.h Enhancement and fixes of "Secure" feature (#16958) 2022-05-14 23:07:08 +01:00
sync_timer.c Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
sync_timer.h Relocate protocol files within tmk_core/common/ (#14972) 2021-10-28 22:31:59 +01:00
util.h Use a macro to compute the size of arrays at compile time (#18044) 2022-08-30 10:20:04 +02:00
variable_trace.c clang-format changes 2019-08-30 15:01:52 -07:00
variable_trace.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
velocikey.c Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
velocikey.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
via_ensure_keycode.h Normalise Space Cadet keycodes (#18864) 2022-10-27 11:19:16 +01:00
via.c VIA Encoder Map Support (#17734) 2022-07-21 09:53:42 +10:00
via.h VIA Encoder Map Support (#17734) 2022-07-21 09:53:42 +10:00
virtser.h Relocate protocol files within tmk_core/common/ (#14972) 2021-10-28 22:31:59 +01:00
wpm.c Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
wpm.h Fixes potential wpm sampling overflow, along with code comment fixes (#15277) 2021-12-27 11:52:56 +11:00