Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5157cc81 authored by Kulikov Vasiliy's avatar Kulikov Vasiliy Committed by Takashi Iwai
Browse files

ALSA: sb: check get_user() return value



get_user() may fail, if so return -EFAULT.

[Fixed one missing place by tiwai]

Signed-off-by: default avatarKulikov Vasiliy <segooon@gmail.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 63818c44
Loading
Loading
Loading
Loading
+6 −3
Original line number Original line Diff line number Diff line
@@ -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++;
		}
		}