From: Konrad Rzeszutek Wilk Date: Tue, 19 Jun 2012 18:39:31 +0000 (-0400) Subject: xen/acpi: Fix potential memory leak. X-Git-Tag: v3.6-rc1~123^2~11 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=17f9b896b06d314da890174584278dea8da7e0ce;p=~emulex%2Finfiniband.git xen/acpi: Fix potential memory leak. Coverity points out that we do not free in one case the pr_backup - and sure enough we forgot. Found by Coverity (CID 401970) Signed-off-by: Konrad Rzeszutek Wilk --- diff --git a/drivers/xen/xen-acpi-processor.c b/drivers/xen/xen-acpi-processor.c index 7ff2569e17a..b590ee067fc 100644 --- a/drivers/xen/xen-acpi-processor.c +++ b/drivers/xen/xen-acpi-processor.c @@ -520,15 +520,18 @@ static int __init xen_acpi_processor_init(void) if (!pr_backup) { pr_backup = kzalloc(sizeof(struct acpi_processor), GFP_KERNEL); - memcpy(pr_backup, _pr, sizeof(struct acpi_processor)); + if (pr_backup) + memcpy(pr_backup, _pr, sizeof(struct acpi_processor)); } (void)upload_pm_data(_pr); } rc = check_acpi_ids(pr_backup); - if (rc) - goto err_unregister; kfree(pr_backup); + pr_backup = NULL; + + if (rc) + goto err_unregister; return 0; err_unregister: