diff options
author | phk <phk@FreeBSD.org> | 2002-10-02 20:29:54 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-10-02 20:29:54 +0000 |
commit | f4c70e659ffb00b8f69da48f3d5a0e5bb540f8cb (patch) | |
tree | a335234fd8fd101b0cdc32f4d78fb94265e8eb40 /sys/isa | |
parent | f7bc6d5b0554f789cc731034fefcd8b01ec9ac2c (diff) | |
download | FreeBSD-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.c | 4 |
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); |