Browse Source

fix(split): Fix an off-by-one error in split svc.

* Properly check end of behavior device string for null terminator.
xmkb
Peter Johanson 3 years ago committed by Pete Johanson
parent
commit
b8700eaaa1
  1. 2
      app/src/split/bluetooth/service.c

2
app/src/split/bluetooth/service.c

@ -52,7 +52,7 @@ static ssize_t split_svc_run_behavior(struct bt_conn *conn, const struct bt_gatt
// 1: We've gotten all the position/state/param data. // 1: We've gotten all the position/state/param data.
// 2: We have a null terminated string for the behavior device label. // 2: We have a null terminated string for the behavior device label.
if ((end_addr > sizeof(struct zmk_split_run_behavior_data)) && if ((end_addr > sizeof(struct zmk_split_run_behavior_data)) &&
payload->behavior_dev[end_addr - sizeof(struct zmk_split_run_behavior_data)] == '\0') { payload->behavior_dev[end_addr - sizeof(struct zmk_split_run_behavior_data) - 1] == '\0') {
struct zmk_behavior_binding binding = { struct zmk_behavior_binding binding = {
.param1 = payload->data.param1, .param1 = payload->data.param1,
.param2 = payload->data.param2, .param2 = payload->data.param2,

Loading…
Cancel
Save