aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorPauli Virtanen <pav@iki.fi>2025-09-22 21:11:22 +0300
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2025-09-27 11:37:43 -0400
commit5bf863f4c5da055c1eb08887ae4f26d99dbc4aac (patch)
tree119d37845fb77f7f5e863233f805eec58d38980f /net
parentBluetooth: ISO: free rx_skb if not consumed (diff)
downloadlinux-5bf863f4c5da055c1eb08887ae4f26d99dbc4aac.tar.gz
linux-5bf863f4c5da055c1eb08887ae4f26d99dbc4aac.zip
Bluetooth: ISO: don't leak skb in ISO_CONT RX
For ISO_CONT RX, the data from skb is copied to conn->rx_skb, but the skb is leaked. Free skb after copying its data. Fixes: ccf74f2390d6 ("Bluetooth: Add BTPROTO_ISO socket type") Signed-off-by: Pauli Virtanen <pav@iki.fi> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/bluetooth/iso.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bluetooth/iso.c b/net/bluetooth/iso.c
index ad5c8118a6e3..9b263d061e05 100644
--- a/net/bluetooth/iso.c
+++ b/net/bluetooth/iso.c
@@ -2427,7 +2427,7 @@ void iso_recv(struct hci_conn *hcon, struct sk_buff *skb, u16 flags)
skb_copy_from_linear_data(skb, skb_put(conn->rx_skb, skb->len),
skb->len);
conn->rx_len -= skb->len;
- return;
+ break;
case ISO_END:
skb_copy_from_linear_data(skb, skb_put(conn->rx_skb, skb->len),