为使用malloc分配空间时报错,错误代码如下:
malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) – __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) – 1)) & ~((2 * (sizeof(size_t))) – 1))) && ((old_top)->size & 0×1) && ((unsigned long)old_end & pagemask) == 0)’ failed.
在程序中,由于越界使用了上一次malloc(或new)分配的空间,导致本次分配出错。检查一下上一次调用malloc(或new)的空间是否正确使用。