I got the following weird error when trying to free a structure:
can anyone tell me why? if we call calloc then do we have to free it as well just like mallocCode:*** glibc detected *** receiver: free(): invalid next size (normal): 0x00000000010855b0 *** ======= Backtrace: ========= /lib64/libc.so.6[0x3bbba78228] /lib64/libc.so.6(cfree+0x76)[0x3bbba7a866] /lib64/libc.so.6(fclose+0x151)[0x3bbba68731] receiver[0x400dce] /lib64/libc.so.6(__libc_start_main+0xfa)[0x3bbba1e32a] receiver[0x400a39] ======= Memory map: ======== 00400000-00402000 r-xp 00000000 00:37 267920 /p2/hh/project2/receiver 00601000-00602000 rw-p 00001000 00:37 267920 /p2/hh/project2/receiver 01085000-010a6000 rw-p 01085000 00:00 0 [heap] 3bba800000-3bba81d000 r-xp 00000000 fd:01 1384464 /lib64/ld-2.8.so 3bbaa1c000-3bbaa1d000 r--p 0001c000 fd:01 1384464 /lib64/ld-2.8.so 3bbaa1d000-3bbaa1e000 rw-p 0001d000 fd:01 1384464 /lib64/ld-2.8.so 3bbba00000-3bbbb62000 r-xp 00000000 fd:01 1384466 /lib64/libc-2.8.so 3bbbb62000-3bbbd62000 ---p 00162000 fd:01 1384466 /lib64/libc-2.8.so 3bbbd62000-3bbbd66000 r--p 00162000 fd:01 1384466 /lib64/libc-2.8.so 3bbbd66000-3bbbd67000 rw-p 00166000 fd:01 1384466 /lib64/libc-2.8.so 3bbbd67000-3bbbd6c000 rw-p 3bbbd67000 00:00 0 3ebe600000-3ebe616000 r-xp 00000000 fd:01 1384510 /lib64/libgcc_s-4.3.0-20080428.so.1 3ebe616000-3ebe815000 ---p 00016000 fd:01 1384510 /lib64/libgcc_s-4.3.0-20080428.so.1 3ebe815000-3ebe816000 rw-p 00015000 fd:01 1384510 /lib64/libgcc_s-4.3.0-20080428.so.1 7f9570000000-7f9570021000 rw-p 7f9570000000 00:00 0 7f9570021000-7f9574000000 ---p 7f9570021000 00:00 0 7f957573e000-7f9575740000 rw-p 7f957573e000 00:00 0 7f9575765000-7f9575768000 rw-p 7f9575765000 00:00 0 7fff7d753000-7fff7d768000 rw-p 7ffffffea000 00:00 0 [stack] 7fff7d7ff000-7fff7d800000 r-xp 7fff7d7ff000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]