Does Map_MapMemory() return the same virtual address?

I’ve just noticed that if I call Map_MapMemory() and Map_UnMapMemory() over the same physical address multiple times, Map_MapMemory() returns the same virtual address most of the times.

But sometimes the address is different.

Is this an expected behavior?

Dear @vix

This is the expexted behavior. Map_MapMemory() will return a different address, if there was any other operation called which directly or indirectly (de)allocated chunks of system memory.
The system heap grows and shrinks in larger chunks, therefore malloc() and free() can trigger this sometimes.

Regards, Andy