ソースを参照

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>
Kulikov Vasiliy 15 年 前
コミット
b3390ceab9
1 ファイル変更3 行追加1 行削除
  1. 3 1
      sound/oss/midi_synth.c

+ 3 - 1
sound/oss/midi_synth.c

@@ -523,7 +523,9 @@ midi_synth_load_patch(int dev, int format, const char __user *addr,
 	{
 	{
 		unsigned char   data;
 		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 */
 		eox_seen = (i > 0 && data & 0x80);	/* End of sysex */