diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-01-02 18:43:57 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-01-02 18:43:57 -0800 |
commit | 01766d27d265afe7e93a8aa033afae5635d5aba0 (patch) | |
tree | 23694213ccd22ac4ca6bac06297f0162bbfdbb45 | |
parent | 35ddb06a467538434b4139fbf5c02a2ef073162a (diff) | |
parent | f4747b9c68b8864cac32cddc45fdcfdfafb3397c (diff) |
Merge tag 'devprop-4.21-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
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
-rw-r--r-- | drivers/base/swnode.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c index 306bb93287af..89ad8dee6ad5 100644 --- a/drivers/base/swnode.c +++ b/drivers/base/swnode.c @@ -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; |