Bluetooth: Fix wrong memcpy size on LE start encryption
authorAnderson Briglia <anderson.briglia@openbossa.org>
Mon, 19 Sep 2011 18:41:09 +0000 (14:41 -0400)
committerGustavo F. Padovan <padovan@profusion.mobi>
Wed, 21 Sep 2011 15:59:16 +0000 (12:59 -0300)
This patch fixes wrong memcpy size when copying rand value to
HCI_OP_LE_START_ENC command.
The compiler pretends that the array parameter was declared as a pointer
and sizeof reports the size of the pointer. [1]

[1] http://www.c-faq.com/aryptr/aryparmsize.html

Signed-off-by: Anderson Briglia <anderson.briglia@openbossa.org>
Signed-off-by: Anderson Lizardo <anderson.lizardo@openbossa.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
net/bluetooth/hci_conn.c

index ea7f031..c2df7bf 100644 (file)
@@ -218,7 +218,7 @@ void hci_le_start_enc(struct hci_conn *conn, __le16 ediv, __u8 rand[8],
        cp.handle = cpu_to_le16(conn->handle);
        memcpy(cp.ltk, ltk, sizeof(cp.ltk));
        cp.ediv = ediv;
-       memcpy(cp.rand, rand, sizeof(rand));
+       memcpy(cp.rand, rand, sizeof(cp.rand));
 
        hci_send_cmd(hdev, HCI_OP_LE_START_ENC, sizeof(cp), &cp);
 }