free的时候ABORTING: LIBC: ARGUMENT IS INVALID HEAP

今天和一个韩国公司联调, 在c代码中爆出如下错误, 让人很郁闷

11-02 16:09:19.055: A/libc(7453): @@@ ABORTING: LIBC: ARGUMENT IS INVALID HEAP ADDRESS IN dlfree addr=0xb84b7d78

11-02 16:09:19.055: A/libc(7453): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 7453 (aon.aremotecool)


最后搜索资料发现有人遇到了相似的错误, 这个错误主要是 越界读写 造成的

例子:

 char* format = (char*)malloc(16); //16的倍数 

 format[16] = "\0";

free(format);

format最大的index是15 操作16是没问题的, 是释放 fromat的时候就开始崩溃了

以后还是注意一些 c语言字符串造成的问题


参考

内存写越界导致破环堆结构引起的崩溃问题定位经验[如报错malloc(): memory corruption或free(): invalid next size] 

如何实现一个malloc

转载于:https://my.oschina.net/sfshine/blog/524916

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值