| From b3390ceab95601afc12213c3ec5551d3bc7b638f Mon Sep 17 00:00:00 2001 |
| From: Kulikov Vasiliy <segooon@gmail.com> |
| Date: Wed, 28 Jul 2010 20:41:17 +0400 |
| Subject: sound: oss: midi_synth: check get_user() return value |
| |
| From: Kulikov Vasiliy <segooon@gmail.com> |
| |
| commit b3390ceab95601afc12213c3ec5551d3bc7b638f upstream. |
| |
| get_user() may fail, if so return -EFAULT. |
| |
| Signed-off-by: Kulikov Vasiliy <segooon@gmail.com> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| sound/oss/midi_synth.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/sound/oss/midi_synth.c |
| +++ b/sound/oss/midi_synth.c |
| @@ -519,7 +519,9 @@ midi_synth_load_patch(int dev, int forma |
| { |
| unsigned char data; |
| |
| - get_user(*(unsigned char *) &data, (unsigned char __user *) &((addr)[hdr_size + i])); |
| + if (get_user(data, |
| + (unsigned char __user *)(addr + hdr_size + i))) |
| + return -EFAULT; |
| |
| eox_seen = (i > 0 && data & 0x80); /* End of sysex */ |
| |