aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorAlexander Leidinger <netchild@FreeBSD.org>2006-02-05 17:10:52 +0000
committerAlexander Leidinger <netchild@FreeBSD.org>2006-02-05 17:10:52 +0000
commitf31eef8b22883b431881122bf58d6625f2a3114b (patch)
tree829cf4224cf734252c93482dbdc75e5c2354e32d /sys/dev
parent95fea57c65ad8c2687ab64624731ac31239167ad (diff)
downloadsrc-f31eef8b22883b431881122bf58d6625f2a3114b.tar.gz
src-f31eef8b22883b431881122bf58d6625f2a3114b.zip
Fix memory leak in some failure cases.
CID: 420 Found with: Coverity Prevent(tm)
Notes
Notes: svn path=/head/; revision=155336
Diffstat (limited to 'sys/dev')
-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 967daa99b385..05005124311a 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;