free()

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

char * f()
{
        char *ptr = malloc(30);
        ptr = "abcdefg";
        printf("&ptr=%p,%s,size=%d/n",ptr,ptr,strlen(ptr));
        free(ptr);
        return (char *)0;
}

int main()
{
//      char *p = f();//it seems that a memory freed is unuseable
        f();
        return 0;
}

 

[root@bogon cTest]# ./a.out
&ptr=0x8048550,abcdefg,size=7
*** glibc detected *** ./a.out: free(): invalid pointer: 0x08048550 ***
======= Backtrace: =========
/lib/libc.so.6[0xa265a5]
/lib/libc.so.6(cfree+0x59)[0xa269e9]
./a.out[0x8048447]
./a.out[0x8048468]
/lib/libc.so.6(__libc_start_main+0xdc)[0x9d2e9c]
./a.out[0x8048331]
======= Memory map: ========
00545000-00550000 r-xp 00000000 03:01 4224575    /lib/libgcc_s-4.1.2-20080825.so.1
00550000-00551000 rwxp 0000a000 03:01 4224575    /lib/libgcc_s-4.1.2-20080825.so.1
00782000-00783000 r-xp 00782000 00:00 0          [vdso]
0099a000-009b4000 r-xp 00000000 03:01 4224500    /lib/ld-2.5.so
009b4000-009b5000 r-xp 00019000 03:01 4224500    /lib/ld-2.5.so
009b5000-009b6000 rwxp 0001a000 03:01 4224500    /lib/ld-2.5.so
009bd000-00afc000 r-xp 00000000 03:01 4224560    /lib/libc-2.5.so
00afc000-00afd000 --xp 0013f000 03:01 4224560    /lib/libc-2.5.so
00afd000-00aff000 r-xp 0013f000 03:01 4224560    /lib/libc-2.5.so
00aff000-00b00000 rwxp 00141000 03:01 4224560    /lib/libc-2.5.so
00b00000-00b03000 rwxp 00b00000 00:00 0
08048000-08049000 r-xp 00000000 03:01 98389      /root/Desktop/cTest/a.out
08049000-0804a000 rw-p 00000000 03:01 98389      /root/Desktop/cTest/a.out
09fce000-09fef000 rw-p 09fce000 00:00 0          [heap]
b7fbf000-b7fc1000 rw-p b7fbf000 00:00 0
b7fd8000-b7fd9000 rw-p b7fd8000 00:00 0
bfd2c000-bfd41000 rw-p bffea000 00:00 0          [stack]
已放弃
结果不理解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值