m_free

This function shrinks the data space claimed by the application by releasing all memory beyond ptr. Applications should make sure that the value of ptr is above or equal to the first value returned by m_alloc(). m_free() tests to make sure that the offset is within the range of the currently allocated block, but it does not test to see that it is beyond the initial allocation at load time.