summaryrefslogtreecommitdiff
path: root/fs/select.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2004-08-26 20:45:32 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-08-26 20:45:32 -0700
commit59cff3903bdaeff0f5daefb5fc5e362b8fb45d97 (patch)
treebfbd8e2ddc0d420529e989f0c2d7297c34a44ca5 /fs/select.c
parentf6ed4dc92d444de4bef2d5462c18cafdefcd1d88 (diff)
[PATCH] copy_to_user checking in select.c
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/select.c')
-rw-r--r--fs/select.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/select.c b/fs/select.c
index 4dbc1d99a05e..dfff0ad1baf5 100644
--- a/fs/select.c
+++ b/fs/select.c
@@ -373,9 +373,10 @@ sys_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp, s
ret = 0;
}
- set_fd_set(n, inp, fds.res_in);
- set_fd_set(n, outp, fds.res_out);
- set_fd_set(n, exp, fds.res_ex);
+ if (set_fd_set(n, inp, fds.res_in) ||
+ set_fd_set(n, outp, fds.res_out) ||
+ set_fd_set(n, exp, fds.res_ex))
+ ret = -EFAULT;
out:
select_bits_free(bits, size);