]> Git Repo - linux.git/commitdiff
[ALSA] Return error if no user TLV is defined
authorTakashi Iwai <[email protected]>
Fri, 25 Aug 2006 09:39:34 +0000 (11:39 +0200)
committerJaroslav Kysela <[email protected]>
Sat, 23 Sep 2006 08:44:21 +0000 (10:44 +0200)
Retrun error to user TLV_READ ioctl if no TLV is defined.
(Until now, nothing was written and rerunred successfully.)

Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
sound/core/control.c

index 3030aaa6d2c5cd14d9be4113e7098755c6da4d06..6973a9686b679c6f3fc7a5415a1795ce043e6a76 100644 (file)
@@ -951,6 +951,8 @@ static int snd_ctl_elem_user_tlv(struct snd_kcontrol *kcontrol,
                ue->tlv_data = new_data;
                ue->tlv_data_size = size;
        } else {
+               if (! ue->tlv_data_size || ! ue->tlv_data)
+                       return -ENXIO;
                if (size < ue->tlv_data_size)
                        return -ENOSPC;
                if (copy_to_user(tlv, ue->tlv_data, ue->tlv_data_size))
This page took 0.059571 seconds and 4 git commands to generate.