diff options
-rw-r--r-- | src/socket_wrapper.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/socket_wrapper.c b/src/socket_wrapper.c index df70df5..a0e1df0 100644 --- a/src/socket_wrapper.c +++ b/src/socket_wrapper.c @@ -4752,6 +4752,11 @@ static ssize_t swrap_sendmsg_before(int fd, for (i = 0; i < (size_t)msg->msg_iovlen; i++) { size_t nlen; nlen = len + msg->msg_iov[i].iov_len; + if (nlen < len) { + /* overflow */ + errno = EMSGSIZE; + goto out; + } if (nlen > mtu) { break; } |