I have written a wrapper for malloc which, among other things, checks to
see if the returned pointer is NULL. I set the heap size to 100K using the
and then put I put the wrapper function in a loop to see how much memory
could be allocated before malloc returned NULL - expecting it to be less
than 100K. I found that malloc only returned NULL after a little over 2GB
of memory had been allocated. I have 1GB of RAM and a page file of
1.5GB. If the heap size is set to 100K, how can malloc allocate 2GB of RAM?