A simple program: char *mem = malloc(n); memset(mem, 0, malloc_usable_size(mem)); Results in "invalid write of size x", because malloc_usable_size() returns 8 byte padded values. I think it should return the exact allocated value, otherwise it just gives pointless errors.
This was fixed a while ago in SVN. Thanks for the report.