Merge tag 'devprop-4.21-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafae...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 3 Jan 2019 02:43:57 +0000 (18:43 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 3 Jan 2019 02:43:57 +0000 (18:43 -0800)
Pull device properties framework fixes from Rafael Wysocki:
 "Fix two potential NULL pointer dereferences found by Coverity in the
  software nodes code introduced recently (Colin Ian King)"

* tag 'devprop-4.21-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  drivers: base: swnode: check if swnode is NULL before dereferencing it
  drivers: base: swnode: check if pointer p is NULL before dereferencing it

drivers/base/swnode.c

index 306bb93287af32effbb0953a91ed6ccbea5d6410..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 *
@@ -487,7 +488,7 @@ software_node_get_next_child(const struct fwnode_handle *fwnode,
        struct software_node *p = to_software_node(fwnode);
        struct software_node *c = to_software_node(child);
 
-       if (list_empty(&p->children) ||
+       if (!p || list_empty(&p->children) ||
            (c && list_is_last(&c->entry, &p->children)))
                return NULL;