Bug in net/bluetooth/a2mp.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marcel, Luis,

i just backported your patch
eddb7732119d53400f48a02536a84c509692faa8 Bluetooth: A2MP: Fix not initializing all members
into our project kernel, and a reviewer has found a bug:

@@ -376,6 +383,8 @@ static int a2mp_getampassoc_req(struct amp_mgr *mgr, struct sk_buff *skb,
 struct a2mp_amp_assoc_rsp rsp;
 rsp.id = req->id;

+memset(&rsp, 0, sizeof(rsp));
+
 if (tmp) {
 rsp.status = A2MP_STATUS_COLLISION_OCCURED;
 amp_mgr_put(tmp);


Here, rsp.id is set to req->id but then zeroed with memset.

Two hunks above in the same patch this is done in reverse order:
@@ -305,6 +308,8 @@ static int a2mp_getinfo_req(struct amp_mgr *mgr, struct sk_buff *skb,
 if (!hdev || hdev->dev_type != HCI_AMP) {
 struct a2mp_info_rsp rsp;

+memset(&rsp, 0, sizeof(rsp));
+
 rsp.id = req->id;
 rsp.status = A2MP_STATUS_INVALID_CTRL_ID;

I assume this is the correct way.
Could this lead to bluetooth malfunctioning, and needs to be patched? Shall i prepare a patch?

Best regards
Carsten
-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux