ALSA: sb: check get_user() return value
get_user() may fail, if so return -EFAULT. [Fixed one missing place by tiwai] Signed-off-by: Kulikov Vasiliy <segooon@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
63818c448a
commit
5157cc8113
@ -433,7 +433,8 @@ static int emu8k_transfer_block(struct snd_emu8000 *emu, int offset, unsigned sh
|
|||||||
while (count > 0) {
|
while (count > 0) {
|
||||||
unsigned short sval;
|
unsigned short sval;
|
||||||
CHECK_SCHEDULER();
|
CHECK_SCHEDULER();
|
||||||
get_user(sval, buf);
|
if (get_user(sval, buf))
|
||||||
|
return -EFAULT;
|
||||||
EMU8000_SMLD_WRITE(emu, sval);
|
EMU8000_SMLD_WRITE(emu, sval);
|
||||||
buf++;
|
buf++;
|
||||||
count--;
|
count--;
|
||||||
@ -525,12 +526,14 @@ static int emu8k_pcm_copy(struct snd_pcm_substream *subs,
|
|||||||
while (count-- > 0) {
|
while (count-- > 0) {
|
||||||
unsigned short sval;
|
unsigned short sval;
|
||||||
CHECK_SCHEDULER();
|
CHECK_SCHEDULER();
|
||||||
get_user(sval, buf);
|
if (get_user(sval, buf))
|
||||||
|
return -EFAULT;
|
||||||
EMU8000_SMLD_WRITE(emu, sval);
|
EMU8000_SMLD_WRITE(emu, sval);
|
||||||
buf++;
|
buf++;
|
||||||
if (rec->voices > 1) {
|
if (rec->voices > 1) {
|
||||||
CHECK_SCHEDULER();
|
CHECK_SCHEDULER();
|
||||||
get_user(sval, buf);
|
if (get_user(sval, buf))
|
||||||
|
return -EFAULT;
|
||||||
EMU8000_SMRD_WRITE(emu, sval);
|
EMU8000_SMRD_WRITE(emu, sval);
|
||||||
buf++;
|
buf++;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user