Re: opl3_oss use after free.

From: Dave Jones
Date: Mon Mar 06 2006 - 04:08:23 EST


On Mon, Mar 06, 2006 at 04:05:33AM -0500, Dave Jones wrote:
> Don't read from free'd memory. Also make use of the return
> value, and don't register the device if something went wrong
> creating the port.
>
> Coverity #955

identical bug in opl3_seq.c
This needs to check the return too, but I got lazy and just
fixed the use-after-free.

Coverity #954

Signed-off-by: Dave Jones <davej@xxxxxxxxxx>

--- linux-2.6/sound/drivers/opl3/opl3_seq.c~ 2006-03-06 04:07:42.000000000 -0500
+++ linux-2.6/sound/drivers/opl3/opl3_seq.c 2006-03-06 04:08:36.000000000 -0500
@@ -207,8 +207,10 @@ static int snd_opl3_synth_create_port(st
16, voices,
name);
if (opl3->chset->port < 0) {
+ int port;
+ port = opl3->chset->port;
snd_midi_channel_free_set(opl3->chset);
- return opl3->chset->port;
+ return port;
}
return 0;
}

--
http://www.codemonkey.org.uk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/