aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Herndon <Robert.Herndon@Dell.com>2022-10-13 17:02:28 +0000
committerDavid Bright <dab@FreeBSD.org>2023-02-23 02:42:12 +0000
commit3ff497061b3323021ae5f8cceed075fc2bc25e40 (patch)
tree4270edfc85264850ce64899c9115d1bb13f46ffc
parent453aa7fac9894945282bcf6ef55c9ebaaa1d7e40 (diff)
Fix Coverity issue in the NVDIMM driver
Summary: Coverity reports a potential memory leak in the nvdimm driver. Examination shows it's real; fix it. Sponsored by: Dell Technologies MFC after: 1w Test Plan: Changes in use at $WORK Reviewers: robert.herndon_dell.com, vangyzen, bret_ketchum_dell.com Subscribers: imp, badger Differential Revision: https://reviews.freebsd.org/D38676
-rw-r--r--sys/dev/nvdimm/nvdimm_acpi.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/nvdimm/nvdimm_acpi.c b/sys/dev/nvdimm/nvdimm_acpi.c
index 7e41b04fd60f..11afe44f9477 100644
--- a/sys/dev/nvdimm/nvdimm_acpi.c
+++ b/sys/dev/nvdimm/nvdimm_acpi.c
@@ -67,14 +67,18 @@ find_dimm(ACPI_HANDLE handle, UINT32 nesting_level, void *context,
ACPI_DEVICE_INFO *device_info;
ACPI_STATUS status;
+ device_info = NULL;
status = AcpiGetObjectInfo(handle, &device_info);
if (ACPI_FAILURE(status))
return_ACPI_STATUS(AE_ERROR);
if (device_info->Address == (uintptr_t)context) {
*(ACPI_HANDLE *)return_value = handle;
- return_ACPI_STATUS(AE_CTRL_TERMINATE);
- }
- return_ACPI_STATUS(AE_OK);
+ status = AE_CTRL_TERMINATE;
+ } else
+ status = AE_OK;
+
+ AcpiOsFree(device_info);
+ return_ACPI_STATUS(status);
}
static ACPI_HANDLE