diff options
author | joe <joe@FreeBSD.org> | 2002-04-01 20:32:50 +0000 |
---|---|---|
committer | joe <joe@FreeBSD.org> | 2002-04-01 20:32:50 +0000 |
commit | ee8382fbafeaf37ea76c2c14bddbc21123cae305 (patch) | |
tree | eb5e14bfb4f6222f6d3b669c08cb19d67f5c50aa /sys | |
parent | b55c1de5995ac773dbbb66d0e6663641fae02acd (diff) | |
download | FreeBSD-src-ee8382fbafeaf37ea76c2c14bddbc21123cae305.zip FreeBSD-src-ee8382fbafeaf37ea76c2c14bddbc21123cae305.tar.gz |
MFNetBSD:
revision 1.40
date: 2000/10/10 12:37:01; author: augustss; state: Exp; lines: +4 -3
Don't free unallocated pointer in detach (can happen if detach happens
before attach has finished).
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/usb/uhid.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/usb/uhid.c b/sys/dev/usb/uhid.c index 8020b0e..381d81b 100644 --- a/sys/dev/usb/uhid.c +++ b/sys/dev/usb/uhid.c @@ -1,4 +1,4 @@ -/* $NetBSD: uhid.c,v 1.39 2000/06/01 14:29:00 augustss Exp $ */ +/* $NetBSD: uhid.c,v 1.40 2000/10/10 12:37:01 augustss Exp $ */ /* $FreeBSD$ */ /* @@ -228,7 +228,7 @@ USB_ATTACH(uhid) sc->sc_ep_addr = ed->bEndpointAddress; - desc = 0; + desc = NULL; err = usbd_alloc_report_desc(uaa->iface, &desc, &size, M_USBDEV); if (err) { printf("%s: no report descriptor\n", USBDEVNAME(sc->sc_dev)); @@ -321,7 +321,8 @@ USB_DETACH(uhid) destroy_dev(sc->dev); #endif - free(sc->sc_repdesc, M_USBDEV); + if (sc->sc_repdesc) + free(sc->sc_repdesc, M_USBDEV); return (0); } |