diff --git a/adapter/syscall/ff_hook_syscall.c b/adapter/syscall/ff_hook_syscall.c index 9503fc577..984fd45dc 100644 --- a/adapter/syscall/ff_hook_syscall.c +++ b/adapter/syscall/ff_hook_syscall.c @@ -437,6 +437,11 @@ ff_hook_bind(int fd, const struct sockaddr *addr, return -1; } + if (addrlen > sizeof(struct sockaddr_storage)) { + errno = EINVAL; + return -1; + } + CHECK_FD_OWNERSHIP(bind, (fd, addr, addrlen)); DEFINE_REQ_ARGS(bind);