From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
Static analysis with smatch detected a couple of issues:
drivers/media/usb/hackrf/hackrf.c:1533 hackrf_probe()
error: we previously assumed 'dev' could be null (see line 1366)
drivers/media/usb/hackrf/hackrf.c:1533 hackrf_probe()
error: dereferencing freed memory 'dev'
A dev_dbg message is being output on a kfree'd dev. Worse, if dev
is not allocated earlier, on, a null pointer deference on dev->dev
can occur onthe deb_dbg call. Clean this up by only printing a debug
message if dev is not null and has not been kfree'd.
Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
---
drivers/media/usb/hackrf/hackrf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/usb/hackrf/hackrf.c b/drivers/media/usb/hackrf/hackrf.c
index e05bfec..faf3670 100644
--- a/drivers/media/usb/hackrf/hackrf.c
+++ b/drivers/media/usb/hackrf/hackrf.c
@@ -1528,9 +1528,9 @@ err_v4l2_ctrl_handler_free_tx:
err_v4l2_ctrl_handler_free_rx:
v4l2_ctrl_handler_free(&dev->rx_ctrl_handler);
err_kfree:
+ dev_dbg(dev->dev, "failed=%d\n", ret);
kfree(dev);
err:
- dev_dbg(dev->dev, "failed=%d\n", ret);
return ret;
}