summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authormlelstv <mlelstv@NetBSD.org>2019-12-31 09:10:15 +0000
committermlelstv <mlelstv@NetBSD.org>2019-12-31 09:10:15 +0000
commit1fd42d68a71292bdaac2aecbcbcb04b5dbf84865 (patch)
tree247c6f49cf1fedb156338d8756adc4ebbf9f40d3 /sys/dev
parentdceae99c7ca9ff1932d53dca8613a3e6f6281979 (diff)
Free buffers only when allocated.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/acpi/acpi_util.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/acpi/acpi_util.c b/sys/dev/acpi/acpi_util.c
index ff881c613fa..bd7e33c6382 100644
--- a/sys/dev/acpi/acpi_util.c
+++ b/sys/dev/acpi/acpi_util.c
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_util.c,v 1.17 2019/12/29 13:45:11 jmcneill Exp $ */
+/* $NetBSD: acpi_util.c,v 1.18 2019/12/31 09:10:15 mlelstv Exp $ */
/*-
* Copyright (c) 2003, 2007 The NetBSD Foundation, Inc.
@@ -65,7 +65,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_util.c,v 1.17 2019/12/29 13:45:11 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_util.c,v 1.18 2019/12/31 09:10:15 mlelstv Exp $");
#include <sys/param.h>
#include <sys/kmem.h>
@@ -694,7 +694,8 @@ acpi_dsd_integer(ACPI_HANDLE handle, const char *prop, ACPI_INTEGER *val)
if (ACPI_SUCCESS(rv))
*val = propval->Integer.Value;
- ACPI_FREE(buf.Pointer);
+ if (buf.Pointer != NULL)
+ ACPI_FREE(buf.Pointer);
return rv;
}
@@ -712,6 +713,7 @@ acpi_dsd_string(ACPI_HANDLE handle, const char *prop, char **val)
if (ACPI_SUCCESS(rv))
*val = kmem_strdup(propval->String.Pointer, KM_SLEEP);
- ACPI_FREE(buf.Pointer);
+ if (buf.Pointer != NULL)
+ ACPI_FREE(buf.Pointer);
return rv;
}