[PATCH] PCI/hotplug: fix potential null pointer deference

From: Young Xiao
Date: Fri Jun 14 2019 - 08:45:03 EST


There is otherwise a risk of a null pointer dereference.

Signed-off-by: Young Xiao <92siuyang@xxxxxxxxx>
---
drivers/pci/hotplug/cpqphp_ctrl.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/pci/hotplug/cpqphp_ctrl.c b/drivers/pci/hotplug/cpqphp_ctrl.c
index b7f4e1f..3c8399f 100644
--- a/drivers/pci/hotplug/cpqphp_ctrl.c
+++ b/drivers/pci/hotplug/cpqphp_ctrl.c
@@ -598,10 +598,11 @@ static struct pci_resource *get_io_resource(struct pci_resource **head, u32 size
*head = node->next;
} else {
prevnode = *head;
- while (prevnode->next != node)
+ while (prevnode && prevnode->next != node)
prevnode = prevnode->next;

- prevnode->next = node->next;
+ if (prevnode)
+ prevnode->next = node->next;
}
node->next = NULL;
break;
@@ -788,10 +789,11 @@ static struct pci_resource *get_resource(struct pci_resource **head, u32 size)
*head = node->next;
} else {
prevnode = *head;
- while (prevnode->next != node)
+ while (prevnode && prevnode->next != node)
prevnode = prevnode->next;

- prevnode->next = node->next;
+ if (prevnode)
+ prevnode->next = node->next;
}
node->next = NULL;
break;
--
2.7.4