summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornetchild <netchild@FreeBSD.org>2006-02-05 17:10:52 +0000
committernetchild <netchild@FreeBSD.org>2006-02-05 17:10:52 +0000
commitd249843f8b66ce93c375000e8028521cb8c813fb (patch)
tree829cf4224cf734252c93482dbdc75e5c2354e32d
parent62220258e1e26460aa7a969a82eba11a75a90b1e (diff)
downloadFreeBSD-src-d249843f8b66ce93c375000e8028521cb8c813fb.zip
FreeBSD-src-d249843f8b66ce93c375000e8028521cb8c813fb.tar.gz
Fix memory leak in some failure cases.
CID: 420 Found with: Coverity Prevent(tm)
-rw-r--r--sys/dev/sound/isa/mss.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/sound/isa/mss.c b/sys/dev/sound/isa/mss.c
index 967daa9..0500512 100644
--- a/sys/dev/sound/isa/mss.c
+++ b/sys/dev/sound/isa/mss.c
@@ -2027,8 +2027,10 @@ pnpmss_attach(device_t dev)
mss->conf_rid = 3;
mss->bd_id = MD_OPTI924;
mss->bd_flags |= BD_F_924PNP;
- if(opti_init(dev, mss) != 0)
+ if(opti_init(dev, mss) != 0) {
+ free(mss, M_DEVBUF);
return ENXIO;
+ }
break;
case 0x1022b839: /* NMX2210 */
@@ -2037,8 +2039,10 @@ pnpmss_attach(device_t dev)
case 0x01005407: /* AZT0001 */
/* put into MSS mode first (snatched from NetBSD) */
- if (azt2320_mss_mode(mss, dev) == -1)
+ if (azt2320_mss_mode(mss, dev) == -1) {
+ free(mss, M_DEVBUF);
return ENXIO;
+ }
mss->bd_flags |= BD_F_MSS_OFFSET;
mss->io_rid = 2;
OpenPOWER on IntegriCloud