Module Name: src Committed By: christos Date: Thu Dec 26 15:32:48 UTC 2013
Modified Files: src/sys/dev/usb: uhidev.c Log Message: from "Just a Normal Person", make sure that we set things to NULL after we free them. To generate a diff of this commit: cvs rdiff -u -r1.58 -r1.59 src/sys/dev/usb/uhidev.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/uhidev.c diff -u src/sys/dev/usb/uhidev.c:1.58 src/sys/dev/usb/uhidev.c:1.59 --- src/sys/dev/usb/uhidev.c:1.58 Sat Oct 5 03:05:01 2013 +++ src/sys/dev/usb/uhidev.c Thu Dec 26 10:32:48 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: uhidev.c,v 1.58 2013/10/05 07:05:01 skrll Exp $ */ +/* $NetBSD: uhidev.c,v 1.59 2013/12/26 15:32:48 christos Exp $ */ /* * Copyright (c) 2001, 2012 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uhidev.c,v 1.58 2013/10/05 07:05:01 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uhidev.c,v 1.59 2013/12/26 15:32:48 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -604,6 +604,7 @@ out1: free(sc->sc_ibuf, M_USBDEV); mutex_enter(&sc->sc_lock); scd->sc_state &= ~UHIDEV_OPEN; + sc->sc_ibuf = NULL; sc->sc_ipipe = NULL; sc->sc_opipe = NULL; sc->sc_oxfer = NULL; @@ -626,8 +627,10 @@ uhidev_close(struct uhidev *scd) DPRINTF(("uhidev_close: close pipe\n")); - if (sc->sc_oxfer != NULL) + if (sc->sc_oxfer != NULL) { usbd_free_xfer(sc->sc_oxfer); + sc->sc_oxfer = NULL; + } /* Disable interrupts. */ if (sc->sc_opipe != NULL) {