How cross-thread double free detection could work in glibc malloc
kallus.org