代码运行出现该错误一般是函数传入的指针是malloc的内存指针,函数出参仍为该指针,函数内部对该指针进行操作,入参没有取该指针的指针,导致指针非法使用。
如:
函数定义
U32 realloc_error(char *a)
{
memcpy(a+1, "hello world", strlen("hello world"));
}
char * a = malloc(255);
realloc_error(a);
,,,,
other_fun(a); //下面函数继续访问a指针,出现realloc invalid pointer错误
修改为realloc_error(char **a),采用指针的指针解决问题