gcc 3.x ban bugos a free ??

 ( Anonymous | 2003. november 12., szerda - 22:02 )

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

#include <stdio.h>
#define MAX 1000000

int main() {

char *p[MAX];

int i = 0;

for ( i = 0; i < MAX; i++ ) p[i] = (char *) malloc (10);

printf("type ps xu\n");
getchar();

for ( i = 0; i < MAX; i++) free( (void * )p[i]);

printf("type ps xu\n");
getchar();
}

a kovetkezo progit leforditva es futtatva majd amikor kiirja hogy type ps xu
akkor egy masik terminalon a ps xu futtatva lathatjuk hogy a memory nem szabadul fel, debian sid alatt + gcc 3.3 -mal, visszont woody alatt felszabadul

tehat:
selli 26640 1.8 3.8 20960 19872 ttyp1 S 21:02 0:00 ./a.out

majd free utan
selli 26640 1.8 3.8 20960 19872 ttyp1 S 21:02 0:00 ./a.out

meg mindig ott figyel a memoriaban

es ha mondjuk elinditok 10-et ebbol akkor elfogy az osszes memoryam es java vm-killer

...
hibas a cim inkabb glibc bug