Module Name: src
Committed By: christos
Date: Sat Apr 4 15:33:36 UTC 2015
Modified Files:
src/sys/dev/usb: umass_isdata.c
Log Message:
fix leak, found by Brainy.
To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/sys/dev/usb/umass_isdata.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/usb/umass_isdata.c
diff -u src/sys/dev/usb/umass_isdata.c:1.30 src/sys/dev/usb/umass_isdata.c:1.31
--- src/sys/dev/usb/umass_isdata.c:1.30 Fri Sep 12 12:40:38 2014
+++ src/sys/dev/usb/umass_isdata.c Sat Apr 4 11:33:36 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: umass_isdata.c,v 1.30 2014/09/12 16:40:38 skrll Exp $ */
+/* $NetBSD: umass_isdata.c,v 1.31 2015/04/04 15:33:36 christos Exp $ */
/*
* TODO:
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: umass_isdata.c,v 1.30 2014/09/12 16:40:38 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: umass_isdata.c,v 1.31 2015/04/04 15:33:36 christos Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -195,8 +195,11 @@ umass_isdata_attach(struct umass_softc *
USETW(req.wLength, sizeof *cf);
err = usbd_do_request(sc->sc_udev, &req, cf);
- if (err)
- return (EIO);
+ if (err) {
+ sc->bus = NULL;
+ free(scbus, M_DEVBUF);
+ return EIO;
+ }
DPRINTF(("umass_wd_attach info:\n EventNotification=0x%02x "
"ExternalClock=0x%02x ATAInitTimeout=0x%02x\n"
" ATAMisc1=0x%02x ATAMajorCommand=0x%02x "