Message ID | ce9c139d93db03e464341385976606b7568b768f.1474546244.git.riku.voipio@linaro.org |
---|---|
State | Accepted |
Commit | ce9c139d93db03e464341385976606b7568b768f |
Headers | show |
diff --git a/linux-user/syscall.c b/linux-user/syscall.c index eecccbb..7a50a57 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -9661,6 +9661,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, pfd = NULL; target_pfd = NULL; if (nfds) { + if (nfds > (INT_MAX / sizeof(struct target_pollfd))) { + ret = -TARGET_EINVAL; + break; + } + target_pfd = lock_user(VERIFY_WRITE, arg1, sizeof(struct target_pollfd) * nfds, 1); if (!target_pfd) {