mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-18 12:29:32 +08:00
Don't assert on sum of iov_len overflowing an ssize_t
Rather return EINVAL per POSIX. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
abfcf32732
commit
e2ab9b71fa
@ -10,7 +10,6 @@ details. */
|
||||
#include "miscfuncs.h"
|
||||
#include <ntsecapi.h>
|
||||
#include <sys/uio.h>
|
||||
#include <assert.h>
|
||||
#include <alloca.h>
|
||||
#include <limits.h>
|
||||
#include <sys/param.h>
|
||||
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user