diff options
| author | augustss <augustss@NetBSD.org> | 2000-10-10 12:37:01 +0000 |
|---|---|---|
| committer | augustss <augustss@NetBSD.org> | 2000-10-10 12:37:01 +0000 |
| commit | 8adc2fb7f347f0f4cd20f23ce255bad62dd05f17 (patch) | |
| tree | 3933e86c701ae11d9d4136c3603f617f04ee5429 /sys/dev/usb | |
| parent | c8d0b982544b14b0808edcca2e41203369d289a7 (diff) | |
Don't free unallocated pointer in detach (can happen if detach happens
before attach has finished).
Diffstat (limited to 'sys/dev/usb')
| -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 8529318ce43..3792d6cc8e8 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: src/sys/dev/usb/uhid.c,v 1.22 1999/11/17 22:33:43 n_hibma Exp $ */ /* @@ -215,7 +215,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)); @@ -308,7 +308,8 @@ USB_DETACH(uhid) /* XXX not implemented yet */ #endif - free(sc->sc_repdesc, M_USBDEV); + if (sc->sc_repdesc) + free(sc->sc_repdesc, M_USBDEV); usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, USBDEV(sc->sc_dev)); |
