diff --git a/[refs] b/[refs] index b7328f4ceaa3..1997c4bdfd8d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 86148e84c218e49b54521e8dae7bb78eb66c4281 +refs/heads/master: 18c1c3f694105ab2a6f43e054e23f9a751b2f869 diff --git a/trunk/sound/core/control.c b/trunk/sound/core/control.c index 3030aaa6d2c5..6973a9686b67 100644 --- a/trunk/sound/core/control.c +++ b/trunk/sound/core/control.c @@ -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))