diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-08-26 20:45:32 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-08-26 20:45:32 -0700 |
| commit | 59cff3903bdaeff0f5daefb5fc5e362b8fb45d97 (patch) | |
| tree | bfbd8e2ddc0d420529e989f0c2d7297c34a44ca5 /fs/select.c | |
| parent | f6ed4dc92d444de4bef2d5462c18cafdefcd1d88 (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.c | 7 |
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); |
