* miscfuncs.cc (check_invalid_virtual_addr): New function.

* winsup.h (check_invalid_virtual_addr): Declare.
	* mmap.cc (munmap): Call check_invalid_virtual_addr instead of
	IsBadReadPtr.
This commit is contained in:
Corinna Vinschen
2004-02-25 10:54:31 +00:00
parent 241f503c75
commit f9e19c0931
4 changed files with 22 additions and 1 deletions

View File

@ -214,6 +214,18 @@ __check_invalid_read_ptr_errno (const void *s, unsigned sz)
return set_errno (EFAULT);
}
int __stdcall
check_invalid_virtual_addr (const void *s, unsigned sz)
{
MEMORY_BASIC_INFORMATION mbuf;
void *end;
for (end = (char *) s + sz; s < end; s = (char *) s + mbuf.RegionSize)
if (!VirtualQuery (s, &mbuf, sizeof mbuf))
return EINVAL;
return 0;
}
ssize_t
check_iovec_for_read (const struct iovec *iov, int iovcnt)
{