diff --git a/Kernel/Syscalls/socket.cpp b/Kernel/Syscalls/socket.cpp index e858898693a..13ffd8d9f62 100644 --- a/Kernel/Syscalls/socket.cpp +++ b/Kernel/Syscalls/socket.cpp @@ -178,7 +178,8 @@ KResultOr Process::sys$sendmsg(int sockfd, Userspace iovs; - iovs.resize(msg.msg_iovlen); + if (!iovs.try_resize(msg.msg_iovlen)) + return ENOMEM; if (!copy_n_from_user(iovs.data(), msg.msg_iov, msg.msg_iovlen)) return EFAULT; @@ -213,7 +214,8 @@ KResultOr Process::sys$recvmsg(int sockfd, Userspace us if (msg.msg_iovlen != 1) return ENOTSUP; // FIXME: Support this :) Vector iovs; - iovs.resize(msg.msg_iovlen); + if (!iovs.try_resize(msg.msg_iovlen)) + return ENOMEM; if (!copy_n_from_user(iovs.data(), msg.msg_iov, msg.msg_iovlen)) return EFAULT;