diff mbox series

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

Message ID 20220420201437.2855806-1-luiz.dentz@gmail.com (mailing list archive)
State Accepted
Commit c535623a713c340031daf56d0798829644a92532
Headers show
Series [BlueZ] hog-lib: Check if Report ID is set before prepending it | expand

Checks

Context Check Description
tedd_an/pre-ci_am success Success
tedd_an/checkpatch success Checkpatch PASS
tedd_an/gitlint success Gitlint PASS
tedd_an/setupell success Setup ELL PASS
tedd_an/buildprep success Build Prep PASS
tedd_an/build success Build Configuration PASS
tedd_an/makecheck success Make Check PASS
tedd_an/makecheckvalgrind success Make Check PASS
tedd_an/makedistcheck success Make Distcheck PASS
tedd_an/build_extell success Build External ELL PASS
tedd_an/build_extell_make success Build Make with External ELL PASS

Commit Message

Luiz Augusto von Dentz April 20, 2022, 8:14 p.m. UTC
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

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(-)

Comments

bluez.test.bot@gmail.com April 20, 2022, 9:23 p.m. UTC | #1
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
patchwork-bot+bluetooth@kernel.org April 22, 2022, 8:10 p.m. UTC | #2
Hello:

This patch was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Wed, 20 Apr 2022 13:14:37 -0700 you wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> 
> 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!
diff mbox series

Patch

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);