2022-04-21 22:31:07

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH BlueZ] hog-lib: Check if Report ID is set before prepending it

From: Luiz Augusto von Dentz <[email protected]>

Before prepending the Report ID check if it is non-zero:

BLUETOOTH SPECIFICATION Page 16 of 26
HID Service Specification

Report ID shall be nonzero in a Report Reference characteristic
descriptor where there is more than one instance of the Report
characteristic for any given Report Type.

Fixes: https://github.com/bluez/bluez/issues/334
Fixes: https://github.com/bluez/bluez/issues/320
Fixes: https://www.spinics.net/lists/linux-bluetooth/msg97262.html
---
profiles/input/hog-lib.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/profiles/input/hog-lib.c b/profiles/input/hog-lib.c
index b611f6b4a..e69ea1ba4 100644
--- a/profiles/input/hog-lib.c
+++ b/profiles/input/hog-lib.c
@@ -348,7 +348,14 @@ static void report_value_cb(const guint8 *pdu, guint16 len, gpointer user_data)
ev.type = UHID_INPUT;
buf = ev.u.input.data;

- if (report->numbered) {
+ /* BLUETOOTH SPECIFICATION Page 16 of 26
+ * HID Service Specification
+ *
+ * Report ID shall be nonzero in a Report Reference characteristic
+ * descriptor where there is more than one instance of the Report
+ * characteristic for any given Report Type.
+ */
+ if (report->numbered && report->id) {
buf[0] = report->id;
len = MIN(len, sizeof(ev.u.input.data) - 1);
memcpy(buf + 1, pdu, len);
--
2.35.1


2022-04-22 17:58:59

by bluez.test.bot

[permalink] [raw]
Subject: RE: [BlueZ] hog-lib: Check if Report ID is set before prepending it

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=633916

---Test result---

Test Summary:
CheckPatch PASS 1.43 seconds
GitLint PASS 0.99 seconds
Prep - Setup ELL PASS 42.85 seconds
Build - Prep PASS 0.76 seconds
Build - Configure PASS 8.67 seconds
Build - Make PASS 1271.22 seconds
Make Check PASS 11.98 seconds
Make Check w/Valgrind PASS 444.82 seconds
Make Distcheck PASS 231.22 seconds
Build w/ext ELL - Configure PASS 8.82 seconds
Build w/ext ELL - Make PASS 1263.07 seconds
Incremental Build with patchesPASS 0.00 seconds



---
Regards,
Linux Bluetooth

2022-04-22 23:11:02

by patchwork-bot+bluetooth

[permalink] [raw]
Subject: Re: [PATCH BlueZ] hog-lib: Check if Report ID is set before prepending it

Hello:

This patch was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <[email protected]>:

On Wed, 20 Apr 2022 13:14:37 -0700 you wrote:
> From: Luiz Augusto von Dentz <[email protected]>
>
> Before prepending the Report ID check if it is non-zero:
>
> BLUETOOTH SPECIFICATION Page 16 of 26
> HID Service Specification
>
> [...]

Here is the summary with links:
- [BlueZ] hog-lib: Check if Report ID is set before prepending it
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=c535623a713c

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html