[Issue 11446] [GC] GC realloc doesn't ignore non-GC owned pointers
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Jan 4 02:57:00 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=11446
--- Comment #2 from github-bugzilla at puremagic.com ---
Commit pushed to master at https://github.com/dlang/druntime
https://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
--
More information about the Digitalmars-d-bugs
mailing list