Browse Source

staging: tidspbridge: check return code of get_user

Function get_user may fail. Check for it.

Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Vasiliy Kulikov 15 years ago
parent
commit
b04462a143
1 changed files with 5 additions and 1 deletions
  1. 5 1
      drivers/staging/tidspbridge/pmgr/dspapi.c

+ 5 - 1
drivers/staging/tidspbridge/pmgr/dspapi.c

@@ -872,7 +872,11 @@ u32 procwrap_load(union trapped_args *args, void *pr_ctxt)
 		/* number of elements in the envp array including NULL */
 		/* number of elements in the envp array including NULL */
 		count = 0;
 		count = 0;
 		do {
 		do {
-			get_user(temp, args->args_proc_load.user_envp + count);
+			if (get_user(temp,
+				     args->args_proc_load.user_envp + count)) {
+				status = -EFAULT;
+				goto func_cont;
+			}
 			count++;
 			count++;
 		} while (temp);
 		} while (temp);
 		envp = kmalloc(count * sizeof(u8 *), GFP_KERNEL);
 		envp = kmalloc(count * sizeof(u8 *), GFP_KERNEL);