The most obvious explanation is that the physical pages underlying your allocation are different after the free/re-valloc. This could happen without a system call I guess if a page is faulted in. - R.