ALSA: core: fix NULL checking in snd_pcm_plug_client_size()
authorXi Wang <xi.wang@gmail.com>
Tue, 13 Nov 2012 22:12:11 +0000 (17:12 -0500)
committerTakashi Iwai <tiwai@suse.de>
Wed, 14 Nov 2012 07:03:27 +0000 (08:03 +0100)
The dereference snd_pcm_plug_stream(plug) should come after the NULL
check snd_BUG_ON(!plug).

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/oss/pcm_plugin.c

index 71cc3ddf5c156075be1bfbee065e9899af8f806d..f0d7b1566a1050373865d31c284cfab92b5e676c 100644 (file)
@@ -199,12 +199,13 @@ int snd_pcm_plugin_free(struct snd_pcm_plugin *plugin)
 snd_pcm_sframes_t snd_pcm_plug_client_size(struct snd_pcm_substream *plug, snd_pcm_uframes_t drv_frames)
 {
        struct snd_pcm_plugin *plugin, *plugin_prev, *plugin_next;
-       int stream = snd_pcm_plug_stream(plug);
+       int stream;
 
        if (snd_BUG_ON(!plug))
                return -ENXIO;
        if (drv_frames == 0)
                return 0;
+       stream = snd_pcm_plug_stream(plug);
        if (stream == SNDRV_PCM_STREAM_PLAYBACK) {
                plugin = snd_pcm_plug_last(plug);
                while (plugin && drv_frames > 0) {