summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authormdodd <mdodd@FreeBSD.org>2003-06-25 19:58:38 +0000
committermdodd <mdodd@FreeBSD.org>2003-06-25 19:58:38 +0000
commit966e8b965c0bf413d54c729538dcd4da9dbe4e7b (patch)
tree24099cf63184fefdf2dcd44d03ba8ee23c7d833b /sys/dev
parentf110737095bad00b2c18d365c71ec0c778485a3e (diff)
downloadFreeBSD-src-966e8b965c0bf413d54c729538dcd4da9dbe4e7b.zip
FreeBSD-src-966e8b965c0bf413d54c729538dcd4da9dbe4e7b.tar.gz
Set pointers to NULL after free() to prevent multiple free().
PR: kern/48808 Submitted by: Eugene Grosbein <eugen@grosbein.pp.ru>
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/usb/uhid.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/usb/uhid.c b/sys/dev/usb/uhid.c
index 4095ee9..1c4684f 100644
--- a/sys/dev/usb/uhid.c
+++ b/sys/dev/usb/uhid.c
@@ -425,6 +425,8 @@ uhidopen(dev_t dev, int flag, int mode, usb_proc_ptr p)
"error=%d\n",err));
free(sc->sc_ibuf, M_USBDEV);
free(sc->sc_obuf, M_USBDEV);
+ sc->sc_ibuf = sc->sc_obuf = NULL;
+
sc->sc_state &= ~UHID_OPEN;
return (EIO);
}
@@ -455,6 +457,7 @@ uhidclose(dev_t dev, int flag, int mode, usb_proc_ptr p)
free(sc->sc_ibuf, M_USBDEV);
free(sc->sc_obuf, M_USBDEV);
+ sc->sc_ibuf = sc->sc_obuf = NULL;
sc->sc_state &= ~UHID_OPEN;
OpenPOWER on IntegriCloud