瀏覽代碼

ipmi: Fix NULL pointer dereference in ssif_probe

There is a potential execution path in which function ssif_info_find()
returns NULL, hence there is a NULL pointer dereference when accessing
pointer *addr_info*

Fix this by null checking *addr_info* before dereferencing it.

Addresses-Coverity-ID: 1473145 ("Explicit null dereferenced")
Fixes: e333054a91d1 ("ipmi: Fix I2C client removal in the SSIF driver")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Gustavo A. R. Silva 7 年之前
父節點
當前提交
a8627cda7c
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      drivers/char/ipmi/ipmi_ssif.c

+ 3 - 1
drivers/char/ipmi/ipmi_ssif.c

@@ -1643,7 +1643,9 @@ static int ssif_probe(struct i2c_client *client, const struct i2c_device_id *id)
 
 
  out:
  out:
 	if (rv) {
 	if (rv) {
-		addr_info->client = NULL;
+		if (addr_info)
+			addr_info->client = NULL;
+
 		dev_err(&client->dev, "Unable to start IPMI SSIF: %d\n", rv);
 		dev_err(&client->dev, "Unable to start IPMI SSIF: %d\n", rv);
 		kfree(ssif_info);
 		kfree(ssif_info);
 	}
 	}