进程的地址空间中有很大的一块区域是被称作“堆”的区域
其地址空间是在进程的.data和.bss的地址增长方向到动态库区域的低地址部分的范围
堆可以理解成是进程的一大块内存区域(已经分配实际物理内存,但并不是所有的地址空间都分配了物理内存,其大小根据系统类型和版本来定)
用来供进程中的程序动态分配内存空间
通常,进程通过向操作系统批发一大块实际的内存空间交给glibc管理以提高动态内存请求和释放的效率
在程序要请求动态分配比较小的内存空间的时候,glibc从这一大块内存空间中分配之
当程序要请求动态分配较大的...
分类:
系统相关 时间:
2015-03-07 20:03:14
阅读次数:
194
1> Test if the problem exists, code: #include #include #include #include #include #define CANARY "in_the_coal_mine"struct { char buffer[1024]; ...
分类:
系统相关 时间:
2015-03-07 15:35:07
阅读次数:
182
0.以下在系统CentOS 6.3 x86_64上操作1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:[ghui@StuOSbin]$pwd/var/VMdisk...
分类:
其他好文 时间:
2015-03-03 22:00:53
阅读次数:
248
[root@localhost /]# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel b...
分类:
其他好文 时间:
2015-02-27 13:45:16
阅读次数:
214
前面一直在讲tzset似乎只在初始化的时候才生效,当tzset调用多次时没用。
今天稍微深入的查找了glibc中的tzset的实现,发现其实不是这么回事,其真正的实现是每次都会去解析的。为什么之前会误认为tzset无效,是由于本地进程的环境变量和全局环境变量导致的。
具体的tzset的实现是tzset_internal,在这个函数中,其基本思路是:
1、首先检查环境变量中的TZ环境变量是否存...
分类:
编程语言 时间:
2015-02-13 18:39:37
阅读次数:
547
1.漏洞背景代码审计公司Qualys的研究人员在glibc库中的__nss_hostname_digits_dots()函数中发现了一个缓冲区溢出的漏洞,这个bug可以经过gethostbyname*()函数被本地或者远程的触发。1)通过gethostbyname()函数或gethostbyname2()函数,将可能产生一个堆上的缓冲区溢出。经由g..
分类:
系统相关 时间:
2015-02-11 18:55:54
阅读次数:
270
glibc 发布 2.21 版本,下载地址:
http://ftp.gnu.org/gnu/libc/glibc-2.21.tar.gz
详细改进内容:
* The following bugs are resolved with this release:
6652, 10672, 12674, 12847, 12926, 13862, 14132, 14138, 14171...
分类:
其他好文 时间:
2015-02-08 16:56:05
阅读次数:
231
Linux Programe/Dynamic Shared Library Entry/Exit Point && Glibc Entry Point/Function
分类:
系统相关 时间:
2015-02-08 16:49:27
阅读次数:
438
截至到今天,似乎在64位机器下安装android sdk存在不能运行的问题,可以用以下方法解决:Android SDK requires:Fedora 17 64bit with 32bit Android SDK:sudo yum install glibc.i686 zlib.i686 libs...
分类:
移动开发 时间:
2015-02-08 10:14:01
阅读次数:
145