[RISOLTO] [C] malloc e free strano errore
Inviato: sabato 9 febbraio 2008, 14:26
ciao ho un problema data questa funzione:
e ottengo come output
e non ne capisco il motivo qualcuno ha qualche idea?
Codice: Seleziona tutto
char **array=malloc(sizeof(char)*count);
int i; char **parray=array;
printf("count= %i des-sin=%i\n",count,des-sin);
for ( i=0;i<count/2;i++, parray++ ) {
*parray=malloc(sizeof(char)*(des-sin));
printf("1° in %i ",i);
free(*parray);
printf("out %i\n",i);
}
for ( ;i<count;i++, parray++ ) {
*parray=malloc(sizeof(char)*2);
printf("2° in %i ",i);
free(*parray);
printf("out %i\n",i);
}
return 1;Codice: Seleziona tutto
count= 4 des-sin=9
1° in 0 out 0
1° in 1 out 1
2° in 2 out 2
*** glibc detected *** ./a.out: double free or corruption (out): 0x0000000000603030 ***
======= Backtrace: =========
/lib/libc.so.6[0x2ae7e9199b0a]
/lib/libc.so.6(cfree+0x8c)[0x2ae7e919d6fc]
./a.out[0x401b7a]
./a.out[0x401bea]
/lib/libc.so.6(__libc_start_main+0xf4)[0x2ae7e9145b44]
./a.out[0x400b89]
======= Memory map: ========
00400000-00403000 r-xp 00000000 08:04 1226560 /home/kiroken/Squola/lls/Progetto/a.out
00602000-00603000 rw-p 00002000 08:04 1226560 /home/kiroken/Squola/lls/Progetto/a.out
00603000-00624000 rw-p 00603000 00:00 0 [heap]
2ae7e8f0a000-2ae7e8f27000 r-xp 00000000 08:05 621388 /lib/ld-2.6.1.so
2ae7e8f27000-2ae7e8f2b000 rw-p 2ae7e8f27000 00:00 0
2ae7e9126000-2ae7e9128000 rw-p 0001c000 08:05 621388 /lib/ld-2.6.1.so
2ae7e9128000-2ae7e927a000 r-xp 00000000 08:05 621886 /lib/libc-2.6.1.so
2ae7e927a000-2ae7e9479000 ---p 00152000 08:05 621886 /lib/libc-2.6.1.so
2ae7e9479000-2ae7e947c000 r--p 00151000 08:05 621886 /lib/libc-2.6.1.so
2ae7e947c000-2ae7e947e000 rw-p 00154000 08:05 621886 /lib/libc-2.6.1.so
2ae7e947e000-2ae7e9484000 rw-p 2ae7e947e000 00:00 0
2ae7e9484000-2ae7e9491000 r-xp 00000000 08:05 621442 /lib/libgcc_s.so.1
2ae7e9491000-2ae7e9691000 ---p 0000d000 08:05 621442 /lib/libgcc_s.so.1
2ae7e9691000-2ae7e9692000 rw-p 0000d000 08:05 621442 /lib/libgcc_s.so.1
2ae7ec000000-2ae7ec021000 rw-p 2ae7ec000000 00:00 0
2ae7ec021000-2ae7f0000000 ---p 2ae7ec021000 00:00 0
7fffc1b8b000-7fffc1ba0000 rw-p 7fffc1b8b000 00:00 0 [stack]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vdso]
2° in 3 Aborted (core dumped)