aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2012-02-28 01:57:59 -0500
committerJohan Hedberg <johan.hedberg@intel.com>2012-02-29 09:19:37 -0500
commit89bb46d02046b59c1de3d2e92680f3a1062750d0 (patch)
treedd56173e9835912f91c86e4837b1e9df9c5b30dd
parent3379013bcfceb3c0365a3cf03543d6c67b84fc34 (diff)
Bluetooth: change min_t() cast in hci_reassembly()
"count" is type int so the cast to __u16 truncates the high bits away and triggers a Smatch static checker warning. It looks like a high value of count could cause a forever loop, but I didn't follow it through to see if count is capped somewhere. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
-rw-r--r--net/bluetooth/hci_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index e6cbb8a1f47d..db484a8e7364 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -1966,7 +1966,7 @@ static int hci_reassembly(struct hci_dev *hdev, int type, void *data,
1966 1966
1967 while (count) { 1967 while (count) {
1968 scb = (void *) skb->cb; 1968 scb = (void *) skb->cb;
1969 len = min_t(__u16, scb->expect, count); 1969 len = min_t(uint, scb->expect, count);
1970 1970
1971 memcpy(skb_put(skb, len), data, len); 1971 memcpy(skb_put(skb, len), data, len);
1972 1972