Double free解决办法

      *** glibc detected *** double free or corruption: 0x0937d008 ***

临时解决办法:

      在默认的情况下,产生这个错误的程序也会被中止。但是,这(以及是否产生错误信息)可以通过环境变量 MALLOC_CHECK_ 来控制。以下的设置是被支持的:
            0 — 不产生错误信息,也不中止这个程序
            1 — 产生错误信息,但是不中止这个程序
            2 — 不产生错误信息,但是中止这个程序
            3 — 产生错误信息,并中止这个程序

      export MALLOC_CHECK_=1

根本解决办法:

            #define safe_free(x) if(NULL!=(x))\
                           free(x); x=NULL;

你可能感兴趣的:(Double free解决办法)