memcpy(ptr - 2 * sizeof(long), &freed, sizeof(long));
memcpy(&len, ptr - sizeof(long), sizeof(long));
if (memcmp(ptr + len, &tail, sizeof(long)))
memcpy(ptr - 2 * sizeof(long), &freed, sizeof(long));
memcpy(&len, ptr - sizeof(long), sizeof(long));
if (memcmp(ptr + len, &tail, sizeof(long)))