libc死机问题一(invalid pointer、数组或者指针越界)

一、简要介绍下glibc libc
glibc:
最开始是由fsf组织发起,实现ANSI C标准,在1990年后开始兼容c89和posix标准
libc:
1)起源于glibc,在1990年后,linux内核开发者发现glibc的发展过于缓慢,就拷贝了一个分支,后独立发展libc2-libc5
2)但1997年,glibc release了2.0版本,在可移植性,功能支持(ipv6、64位)等各方面均超越libc,libc分支就被废弃,重新启用glibc


但由此,版本号升级为libc6指向glibc2


引文:
http://en.wikipedia.org/wiki/GNU_C_Library


二、GNU扩展mcheck


简单说下mcheck可能检测的错误:


MCHECK_HEAD
数组或者指针越界,下限
MCHECK_TAIL
数组或者指针越界,上限
MCHECK_FREE
两次free


三、*** glibc detected  free(): invalid pointer: 0x36dfab78 问题
Program received signal SIGABRT, Aborted.


原因主要是源码中有破坏heap一致性的地方,违反了GNU扩展mcheck&#x
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值