diff options
| author | Kulikov Vasiliy <segooon@gmail.com> | 2010-07-28 12:41:17 -0400 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2010-07-29 06:25:06 -0400 |
| commit | b3390ceab95601afc12213c3ec5551d3bc7b638f (patch) | |
| tree | a9f2523442885df6e35f357bb74b9695127c3a4d | |
| parent | 5157cc8113db3de60ab6320965331c63bc77003c (diff) | |
sound: oss: midi_synth: check get_user() return value
get_user() may fail, if so return -EFAULT.
Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
| -rw-r--r-- | sound/oss/midi_synth.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/oss/midi_synth.c b/sound/oss/midi_synth.c index 3bc7104c5379..3c09374ea5bf 100644 --- a/sound/oss/midi_synth.c +++ b/sound/oss/midi_synth.c | |||
| @@ -523,7 +523,9 @@ midi_synth_load_patch(int dev, int format, const char __user *addr, | |||
| 523 | { | 523 | { |
| 524 | unsigned char data; | 524 | unsigned char data; |
| 525 | 525 | ||
| 526 | get_user(*(unsigned char *) &data, (unsigned char __user *) &((addr)[hdr_size + i])); | 526 | if (get_user(data, |
| 527 | (unsigned char __user *)(addr + hdr_size + i))) | ||
| 528 | return -EFAULT; | ||
| 527 | 529 | ||
| 528 | eox_seen = (i > 0 && data & 0x80); /* End of sysex */ | 530 | eox_seen = (i > 0 && data & 0x80); /* End of sysex */ |
| 529 | 531 | ||
