diff mbox

PCI: acpiphp_ibm: potential uninitialized variable bug

Message ID 20160415145106.GH8953@mwanda (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Dan Carpenter April 15, 2016, 2:51 p.m. UTC
If ibm_get_table_from_acpi() fails then "table" isn't initialized.  I
fixed this by adding a check for failure.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Bjorn Helgaas April 15, 2016, 3:34 p.m. UTC | #1
On Fri, Apr 15, 2016 at 05:51:06PM +0300, Dan Carpenter wrote:
> If ibm_get_table_from_acpi() fails then "table" isn't initialized.  I
> fixed this by adding a check for failure.
> 
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

Applied to pci/hotplug for v4.7, thanks, Dan!

> diff --git a/drivers/pci/hotplug/acpiphp_ibm.c b/drivers/pci/hotplug/acpiphp_ibm.c
> index 2f6d3a1..f6221d7 100644
> --- a/drivers/pci/hotplug/acpiphp_ibm.c
> +++ b/drivers/pci/hotplug/acpiphp_ibm.c
> @@ -138,6 +138,8 @@ static union apci_descriptor *ibm_slot_from_id(int id)
>  	char *table;
>  
>  	size = ibm_get_table_from_acpi(&table);
> +	if (size < 0)
> +		return NULL;
>  	des = (union apci_descriptor *)table;
>  	if (memcmp(des->header.sig, "aPCI", 4) != 0)
>  		goto ibm_slot_done;
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/pci/hotplug/acpiphp_ibm.c b/drivers/pci/hotplug/acpiphp_ibm.c
index 2f6d3a1..f6221d7 100644
--- a/drivers/pci/hotplug/acpiphp_ibm.c
+++ b/drivers/pci/hotplug/acpiphp_ibm.c
@@ -138,6 +138,8 @@  static union apci_descriptor *ibm_slot_from_id(int id)
 	char *table;
 
 	size = ibm_get_table_from_acpi(&table);
+	if (size < 0)
+		return NULL;
 	des = (union apci_descriptor *)table;
 	if (memcmp(des->header.sig, "aPCI", 4) != 0)
 		goto ibm_slot_done;