drivers: base: swnode: check if swnode is NULL before dereferencing it
authorColin Ian King <colin.king@canonical.com>
Sat, 22 Dec 2018 12:43:33 +0000 (12:43 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 26 Dec 2018 09:50:36 +0000 (10:50 +0100)
The to_software_mode() macro can potentially return NULL, so also add
a NULL check on swnode before dereferencing it to avoid any NULL
pointer dereferences.

Detected by CoverityScan, CID#1476052 ("Explicit null dereferenced")

Fixes: 59abd83672f7 (drivers: base: Introducing software nodes to the firmware node framework)
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/swnode.c

index 28b6eb0e518708913d2198e47b61178646a1c8a6..89ad8dee6ad53f6f5ca76ac20d465b54ac45b4ab 100644 (file)
@@ -477,7 +477,8 @@ software_node_get_parent(const struct fwnode_handle *fwnode)
 {
        struct software_node *swnode = to_software_node(fwnode);
 
-       return swnode->parent ? &swnode->parent->fwnode : NULL;
+       return swnode ? (swnode->parent ? &swnode->parent->fwnode : NULL) :
+                       NULL;
 }
 
 struct fwnode_handle *