aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ieee802154
diff options
context:
space:
mode:
authorGustavo A. R. Silva <garsilva@embeddedor.com>2017-05-23 13:11:47 -0500
committerMarcel Holtmann <marcel@holtmann.org>2017-05-23 20:12:53 +0200
commit7dab5467647be42736dcabcd5d035c7b571f4653 (patch)
tree0276cfc8956330e5eb53fdda92a2210f096a66a5 /drivers/net/ieee802154
parentnet: ieee802154: fix net_device reference release too early (diff)
downloadlinux-dev-7dab5467647be42736dcabcd5d035c7b571f4653.tar.xz
linux-dev-7dab5467647be42736dcabcd5d035c7b571f4653.zip
net: ieee802154: fix potential null pointer dereference
Null check at line 918: if (!spi) {, implies spi might be NULL. Function spi_get_drvdata() dereference pointer spi. Move pointer priv assignment after the null check. Addresses-Coverity-ID: 1408888 Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/net/ieee802154')
-rw-r--r--drivers/net/ieee802154/ca8210.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ieee802154/ca8210.c b/drivers/net/ieee802154/ca8210.c
index f6df75e80a60..7a218549c80a 100644
--- a/drivers/net/ieee802154/ca8210.c
+++ b/drivers/net/ieee802154/ca8210.c
@@ -912,7 +912,7 @@ static int ca8210_spi_transfer(
)
{
int i, status = 0;
- struct ca8210_priv *priv = spi_get_drvdata(spi);
+ struct ca8210_priv *priv;
struct cas_control *cas_ctl;
if (!spi) {
@@ -923,6 +923,7 @@ static int ca8210_spi_transfer(
return -ENODEV;
}
+ priv = spi_get_drvdata(spi);
reinit_completion(&priv->spi_transfer_complete);
dev_dbg(&spi->dev, "ca8210_spi_transfer called\n");