summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Johanson <peter@peterjohanson.com>2022-01-30 05:32:12 +0000
committerPete Johanson <peter@peterjohanson.com>2022-01-31 23:03:34 -0500
commitb8700eaaa1e24837d6b9ff60430d706c555f9a2f (patch)
tree1fb0d67ff25eab211f092c84e66bc60101a64a60
parentdbefe92ea099a043619727a9ec33cc65de8e6a0c (diff)
fix(split): Fix an off-by-one error in split svc.
* Properly check end of behavior device string for null terminator.
-rw-r--r--app/src/split/bluetooth/service.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/app/src/split/bluetooth/service.c b/app/src/split/bluetooth/service.c
index 3b86019..ca192d7 100644
--- a/app/src/split/bluetooth/service.c
+++ b/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.
// 2: We have a null terminated string for the behavior device label.
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 = {
.param1 = payload->data.param1,
.param2 = payload->data.param2,