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 <konrad.wilk@oracle.com>
This commit is contained in:
Konrad Rzeszutek Wilk 2012-06-19 14:39:31 -04:00
parent a867e5d6b3
commit 17f9b896b0
1 changed files with 6 additions and 3 deletions

View File

@ -520,15 +520,18 @@ static int __init xen_acpi_processor_init(void)
if (!pr_backup) { if (!pr_backup) {
pr_backup = kzalloc(sizeof(struct acpi_processor), GFP_KERNEL); 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); (void)upload_pm_data(_pr);
} }
rc = check_acpi_ids(pr_backup); rc = check_acpi_ids(pr_backup);
if (rc)
goto err_unregister;
kfree(pr_backup); kfree(pr_backup);
pr_backup = NULL;
if (rc)
goto err_unregister;
return 0; return 0;
err_unregister: err_unregister: