sound: oss: midi_synth: check get_user() return value
authorKulikov Vasiliy <segooon@gmail.com>
Wed, 28 Jul 2010 16:41:17 +0000 (20:41 +0400)
committerTakashi Iwai <tiwai@suse.de>
Thu, 29 Jul 2010 10:25:06 +0000 (12:25 +0200)
get_user() may fail, if so return -EFAULT.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/oss/midi_synth.c

index 3bc7104c5379bbe96c792bdcc8297c13198697b3..3c09374ea5bf179e0bada2481c280fa7496e8faf 100644 (file)
@@ -523,7 +523,9 @@ midi_synth_load_patch(int dev, int format, const char __user *addr,
        {
                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 */