summaryrefslogtreecommitdiffstats
path: root/sys/isa
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-10-02 20:29:54 +0000
committerphk <phk@FreeBSD.org>2002-10-02 20:29:54 +0000
commitf4c70e659ffb00b8f69da48f3d5a0e5bb540f8cb (patch)
treea335234fd8fd101b0cdc32f4d78fb94265e8eb40 /sys/isa
parentf7bc6d5b0554f789cc731034fefcd8b01ec9ac2c (diff)
downloadFreeBSD-src-f4c70e659ffb00b8f69da48f3d5a0e5bb540f8cb.zip
FreeBSD-src-f4c70e659ffb00b8f69da48f3d5a0e5bb540f8cb.tar.gz
Fix a probably rare and inconsequential memory leak.
Spotted by: FlexeLint
Diffstat (limited to 'sys/isa')
-rw-r--r--sys/isa/fd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/isa/fd.c b/sys/isa/fd.c
index d67d902..fdd2ca4 100644
--- a/sys/isa/fd.c
+++ b/sys/isa/fd.c
@@ -985,8 +985,10 @@ fdc_add_child(device_t dev, const char *name, int unit)
if (resource_int_value(name, unit, "drive", &ivar->fdunit) != 0)
ivar->fdunit = 0;
child = device_add_child(dev, name, unit);
- if (child == NULL)
+ if (child == NULL) {
+ free(ivar, M_DEVBUF);
return;
+ }
device_set_ivars(child, ivar);
if (resource_int_value(name, unit, "flags", &flags) == 0)
device_set_flags(child, flags);
OpenPOWER on IntegriCloud