diff options
Diffstat (limited to 'sound/core')
-rw-r--r-- | sound/core/control.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/core/control.c b/sound/core/control.c index 3030aaa6d2c5..6973a9686b67 100644 --- a/sound/core/control.c +++ b/sound/core/control.c | |||
@@ -951,6 +951,8 @@ static int snd_ctl_elem_user_tlv(struct snd_kcontrol *kcontrol, | |||
951 | ue->tlv_data = new_data; | 951 | ue->tlv_data = new_data; |
952 | ue->tlv_data_size = size; | 952 | ue->tlv_data_size = size; |
953 | } else { | 953 | } else { |
954 | if (! ue->tlv_data_size || ! ue->tlv_data) | ||
955 | return -ENXIO; | ||
954 | if (size < ue->tlv_data_size) | 956 | if (size < ue->tlv_data_size) |
955 | return -ENOSPC; | 957 | return -ENOSPC; |
956 | if (copy_to_user(tlv, ue->tlv_data, ue->tlv_data_size)) | 958 | if (copy_to_user(tlv, ue->tlv_data, ue->tlv_data_size)) |