1 diff -urN kernel-power-2.6.28/net/bluetooth/l2cap.c kernel-power-2.6.28.new/net/bluetooth/l2cap.c
2 --- kernel-power-2.6.28/net/bluetooth/l2cap.c 2012-01-30 11:38:54.900397583 -0500
3 +++ kernel-power-2.6.28.new/net/bluetooth/l2cap.c 2012-01-30 11:41:31.304278952 -0500
4 @@ -2709,16 +2709,24 @@
6 struct hlist_node *node;
8 + int size = PAGE_SIZE;
10 read_lock_bh(&l2cap_sk_list.lock);
12 sk_for_each(sk, node, &l2cap_sk_list.head) {
13 struct l2cap_pinfo *pi = l2cap_pi(sk);
16 - str += sprintf(str, "%s %s %d %d 0x%4.4x 0x%4.4x %d %d %d\n",
17 + len = snprintf(str, size, "%s %s %d %d 0x%4.4x 0x%4.4x %d %d %d\n",
18 batostr(&bt_sk(sk)->src), batostr(&bt_sk(sk)->dst),
19 sk->sk_state, btohs(pi->psm), pi->scid, pi->dcid,
20 pi->imtu, pi->omtu, pi->sec_level);
29 read_unlock_bh(&l2cap_sk_list.lock);
30 diff -urN kernel-power-2.6.28/net/bluetooth/rfcomm/core.c kernel-power-2.6.28.new/net/bluetooth/rfcomm/core.c
31 --- kernel-power-2.6.28/net/bluetooth/rfcomm/core.c 2012-01-30 11:38:45.788742559 -0500
32 +++ kernel-power-2.6.28.new/net/bluetooth/rfcomm/core.c 2012-01-30 11:41:31.304278952 -0500
34 struct rfcomm_session *s;
35 struct list_head *pp, *p;
37 + int size = PAGE_SIZE;
41 @@ -2105,11 +2106,21 @@
42 list_for_each(pp, &s->dlcs) {
43 struct sock *sk = s->sock->sk;
44 struct rfcomm_dlc *d = list_entry(pp, struct rfcomm_dlc, list);
47 - str += sprintf(str, "%s %s %ld %d %d %d %d\n",
48 + len = snprintf(str, size, "%s %s %ld %d %d %d %d\n",
49 batostr(&bt_sk(sk)->src), batostr(&bt_sk(sk)->dst),
50 d->state, d->dlci, d->mtu, d->rx_credits, d->tx_credits);
64 diff -urN kernel-power-2.6.28/net/bluetooth/rfcomm/sock.c kernel-power-2.6.28.new/net/bluetooth/rfcomm/sock.c
65 --- kernel-power-2.6.28/net/bluetooth/rfcomm/sock.c 2012-01-30 11:38:44.387786122 -0500
66 +++ kernel-power-2.6.28.new/net/bluetooth/rfcomm/sock.c 2012-01-30 11:41:31.304278952 -0500
67 @@ -1065,13 +1065,22 @@
69 struct hlist_node *node;
71 + int size = PAGE_SIZE;
73 read_lock_bh(&rfcomm_sk_list.lock);
75 sk_for_each(sk, node, &rfcomm_sk_list.head) {
76 - str += sprintf(str, "%s %s %d %d\n",
79 + len = snprintf(str, size, "%s %s %d %d\n",
80 batostr(&bt_sk(sk)->src), batostr(&bt_sk(sk)->dst),
81 sk->sk_state, rfcomm_pi(sk)->channel);
90 read_unlock_bh(&rfcomm_sk_list.lock);
91 diff -urN kernel-power-2.6.28/net/bluetooth/sco.c kernel-power-2.6.28.new/net/bluetooth/sco.c
92 --- kernel-power-2.6.28/net/bluetooth/sco.c 2012-01-30 11:38:44.391847398 -0500
93 +++ kernel-power-2.6.28.new/net/bluetooth/sco.c 2012-01-30 11:41:31.304278952 -0500
96 struct hlist_node *node;
98 + int size = PAGE_SIZE;
100 read_lock_bh(&sco_sk_list.lock);
102 sk_for_each(sk, node, &sco_sk_list.head) {
103 - str += sprintf(str, "%s %s %d\n",
106 + len = snprintf(str, size, "%s %s %d\n",
107 batostr(&bt_sk(sk)->src), batostr(&bt_sk(sk)->dst),
117 read_unlock_bh(&sco_sk_list.lock);