Comment #2 by github-bugzilla — 2019-01-04T02:57:00Z
Commit pushed to master at https://github.com/dlang/druntimehttps://github.com/dlang/druntime/commit/e6087c2fed9e49daaa72296bd951ea56efe82ec7
fix Issue 11393,11446 - [GC] GC realloc and free don't ignore interior/non-GC owned pointers
change specification of GC.realloc to something more robust:
- return null for failure (returning the original pointer is no indication of failure as it might also be returned on success. This can easily lead to overwriting memory)
- allow freeing old memory immediately (previous implementation did this for large objects when shrinking)
- only set attribute bits on existing block if reused (previous implementation didn't set bits if it reused a small block)
refactor realloc to match that spec, add changelog, fix example