From e2ab9b71fa49b5295fe7387e18e37b6d81d7ddc2 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 19 Jan 2017 21:08:53 +0100 Subject: [PATCH] Don't assert on sum of iov_len overflowing an ssize_t Rather return EINVAL per POSIX. Signed-off-by: Corinna Vinschen --- winsup/cygwin/miscfuncs.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/winsup/cygwin/miscfuncs.cc b/winsup/cygwin/miscfuncs.cc index 1276695d6..e042d0082 100644 --- a/winsup/cygwin/miscfuncs.cc +++ b/winsup/cygwin/miscfuncs.cc @@ -10,7 +10,6 @@ details. */ #include "miscfuncs.h" #include #include -#include #include #include #include @@ -81,9 +80,10 @@ check_iovec (const struct iovec *iov, int iovcnt, bool forwrite) iovcnt--; } - assert (tot <= SSIZE_MAX); + if (tot <= SSIZE_MAX) + return (ssize_t) tot; - return (ssize_t) tot; + set_errno (EINVAL); } __except (EFAULT) __endtry