[PATCH 3/3] media: dvb-usb: dw2102: fix null-ptr-deref in dw2102_disconnect
From: Michael Chapman
Date: Thu Jul 16 2026 - 01:10:04 EST
dw2102_disconnect() may be called before driver-specific state has been
attached to the USB device.
Signed-off-by: Michael Chapman <mike@xxxxxxxxxxxxxxxxx>
---
drivers/media/usb/dvb-usb/dw2102.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/media/usb/dvb-usb/dw2102.c b/drivers/media/usb/dvb-usb/dw2102.c
index 4fecf2f965..bde7021a34 100644
--- a/drivers/media/usb/dvb-usb/dw2102.c
+++ b/drivers/media/usb/dvb-usb/dw2102.c
@@ -2618,9 +2618,15 @@ static int dw2102_probe(struct usb_interface *intf,
static void dw2102_disconnect(struct usb_interface *intf)
{
struct dvb_usb_device *d = usb_get_intfdata(intf);
- struct dw2102_state *st = d->priv;
+ struct dw2102_state *st;
struct i2c_client *client;
+ if (!d)
+ goto exit;
+ st = d->priv;
+ if (!st)
+ goto exit;
+
/* remove I2C client for tuner */
client = st->i2c_client_tuner;
if (client) {
@@ -2635,6 +2641,7 @@ static void dw2102_disconnect(struct usb_interface *intf)
i2c_unregister_device(client);
}
+exit:
dvb_usb_device_exit(intf);
}
--
2.55.0