? virtualquery.patch Index: path.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/path.cc,v retrieving revision 1.154 diff -u -p -r1.154 path.cc --- path.cc 2001/06/24 22:26:52 1.154 +++ path.cc 2001/06/27 13:26:33 @@ -3357,8 +3357,7 @@ cygwin_split_path (const char *path, cha int __stdcall check_null_empty_path (const char *name) { - MEMORY_BASIC_INFORMATION m; - if (!name || !VirtualQuery (name, &m, sizeof (m)) || (m.State != MEM_COMMIT)) + if (!name || IsBadWritePtr ((void *) name, sizeof (struct rlimit))) return EFAULT; if (!*name) Index: resource.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/resource.cc,v retrieving revision 1.10 diff -u -p -r1.10 resource.cc --- resource.cc 2001/06/24 22:26:52 1.10 +++ resource.cc 2001/06/27 13:26:33 @@ -105,8 +105,7 @@ extern "C" int getrlimit (int resource, struct rlimit *rlp) { - MEMORY_BASIC_INFORMATION m; - if (!rlp || !VirtualQuery (rlp, &m, sizeof (m)) || (m.State != MEM_COMMIT)) + if (!rlp || IsBadWritePtr (rlp, sizeof (struct rlimit))) { set_errno (EFAULT); return -1; @@ -141,8 +140,7 @@ extern "C" int setrlimit (int resource, const struct rlimit *rlp) { - MEMORY_BASIC_INFORMATION m; - if (!rlp || !VirtualQuery (rlp, &m, sizeof (m)) || (m.State != MEM_COMMIT)) + if (!rlp || IsBadWritePtr ((void *) rlp, sizeof (struct rlimit))) { set_errno (EFAULT); return -1; Index: thread.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/thread.cc,v retrieving revision 1.38 diff -u -p -r1.38 thread.cc --- thread.cc 2001/06/26 14:57:33 1.38 +++ thread.cc 2001/06/27 13:26:34 @@ -739,9 +739,7 @@ verifyable_object::~verifyable_object () int __stdcall check_valid_pointer (void *pointer) { - MEMORY_BASIC_INFORMATION m; - if (!pointer || !VirtualQuery (pointer, &m, sizeof (m)) - || (m.State != MEM_COMMIT)) + if (!pointer || IsBadWritePtr(pointer, sizeof (verifyable_object))) return EFAULT; return 0; }