summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>2005-10-26 20:21:45 +0000
committerwpaul <wpaul@FreeBSD.org>2005-10-26 20:21:45 +0000
commitb382eabb5fab57ecfeb778d08fd7565f128ddd68 (patch)
treece393710b6cb821fcde0e00af9fca024f2d62c60 /sys/compat
parent30682c89377e2570a7e827865780694a7926960c (diff)
downloadFreeBSD-src-b382eabb5fab57ecfeb778d08fd7565f128ddd68.zip
FreeBSD-src-b382eabb5fab57ecfeb778d08fd7565f128ddd68.tar.gz
Minor nit: in ntoskrnl_finddev(), only free the 'children' device_t
array if device_find_children() actually returned a non-NULL array pointer.
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/ndis/subr_ntoskrnl.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/compat/ndis/subr_ntoskrnl.c b/sys/compat/ndis/subr_ntoskrnl.c
index 8f5596a..f47badb 100644
--- a/sys/compat/ndis/subr_ntoskrnl.c
+++ b/sys/compat/ndis/subr_ntoskrnl.c
@@ -2556,6 +2556,8 @@ MmMapIoSpace(paddr, len, cachetype)
int i;
vm_offset_t v;
+ /* There will always be at least one nexus. */
+
nexus_class = devclass_find("nexus");
devclass_get_devices(nexus_class, &nexus_devs, &nexus_count);
@@ -2593,7 +2595,7 @@ ntoskrnl_finddev(dev, paddr, res)
uint64_t paddr;
struct resource **res;
{
- device_t *children;
+ device_t *children = NULL;
device_t matching_dev;
int childcnt;
struct resource *r;
@@ -2648,7 +2650,12 @@ ntoskrnl_finddev(dev, paddr, res)
}
}
- free(children, M_TEMP);
+
+ /* Won't somebody please think of the children! */
+
+ if (children != NULL)
+ free(children, M_TEMP);
+
return(NULL);
}
OpenPOWER on IntegriCloud