From 6fdd213161e7795b55ac1c0a4f70d02d13f53f82 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sat, 20 Oct 2001 05:08:21 +0000 Subject: * miscfuncs.cc (+__check_invalid_read_ptr_errno): New function. * syscalls.c (_write): Validate that write buffer is accessible for reading, not writing. * winsup.h: Declare new function, increase regparmization of check_* functions. --- winsup/cygwin/miscfuncs.cc | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'winsup/cygwin/miscfuncs.cc') diff --git a/winsup/cygwin/miscfuncs.cc b/winsup/cygwin/miscfuncs.cc index c5d46fbf0..63b05d975 100644 --- a/winsup/cygwin/miscfuncs.cc +++ b/winsup/cygwin/miscfuncs.cc @@ -153,3 +153,12 @@ __check_null_invalid_struct_errno (const void *s, unsigned sz) set_errno (__err); return __err; } + +int __stdcall +__check_invalid_read_ptr_errno (const void *s, unsigned sz) +{ + if (!s || IsBadReadPtr ((void *) s, sz)) + set_errno (EFAULT); + + return 0; +} -- cgit v1.2.3