ALSA: emux: stop if copy_from_user() fails
Subsystems (2)
PATCH 1/1 ALSA: emux: stop if copy_from_user() fails
If we can't fill the "patch" struct because "count" is too small (it can be as low as 4 bytes) or because copy_from_user() failed, then just return instead of using unintialized data.
Signed-off-by Dan Carpenter <[email protected]>
sound/synth/emux/emux_oss.c +2 -2
@@ -225,9 +225,9 @@ snd_emux_load_patch_seq_oss(struct snd_seq_oss_arg *arg, int format,else if (format =SNDRV_OSS_SOUNDFONT_PATCH ) {struct soundfont_patch_info patch;if (count < (int )sizeof (patch)) - rc = -EINVAL ; +return -EINVAL ;if (copy_from_user (&patch, buf,sizeof (patch))) - rc = -EFAULT ; +return -EFAULT ;if (patch.type >=SNDRV_SFNT_LOAD_INFO && patch.type <=SNDRV_SFNT_PROBE_DATA ) rc =snd_soundfont_load (emu->sflist, buf, count,SF_CLIENT_NO (p->chset.port));
Takashi Iwai
AppliedQuoted 6 lines · Dan Carpenter
If we can't fill the "patch" struct because "count" is too small (it can be as low as 4 bytes) or because
copy_from_user()failed, then just return instead of using unintialized data.Signed-off-by Dan Carpenter <[email protected]>
Thanks, applied now.
Takashi