Gast
2004-02-04, 18:51:51
Hallo,
ich habe Probleme mit malloc(). In meinem Programm wird einige hundert Mal dieser Code ausgeführt:
if ( (xyzlisti_neu=(xyzlisti_t *)malloc(sizeof(xyzlisti_t)))==NULL )
{
printf("Speicherplatzmangel.\n");
exit(1);
}
Dabei gibt es nie Probleme.
Wenn er (inklusive der gesamten Funktion, in der er sich befindet) allerdings in einem anderen Zusammenhang (der funktional allerdings exakt gleich verläuft) aufgerufen wird, stürzt das Programm mit einem Speicherzugriffsfehler ab.
Per GDB erfährt man das malloc() selbst abstürzt.
Program received signal SIGSEGV, Segmentation fault.
0x400ac219 in malloc () from /lib/libc.so.6
Da hab ich nun keinen Plan mehr, was ich da noch tun könnte. Ein Bug in malloc() erscheint mir extrem unwahrscheinlich.
Vielen Dank im Vorraus,
Uli
ich habe Probleme mit malloc(). In meinem Programm wird einige hundert Mal dieser Code ausgeführt:
if ( (xyzlisti_neu=(xyzlisti_t *)malloc(sizeof(xyzlisti_t)))==NULL )
{
printf("Speicherplatzmangel.\n");
exit(1);
}
Dabei gibt es nie Probleme.
Wenn er (inklusive der gesamten Funktion, in der er sich befindet) allerdings in einem anderen Zusammenhang (der funktional allerdings exakt gleich verläuft) aufgerufen wird, stürzt das Programm mit einem Speicherzugriffsfehler ab.
Per GDB erfährt man das malloc() selbst abstürzt.
Program received signal SIGSEGV, Segmentation fault.
0x400ac219 in malloc () from /lib/libc.so.6
Da hab ich nun keinen Plan mehr, was ich da noch tun könnte. Ein Bug in malloc() erscheint mir extrem unwahrscheinlich.
Vielen Dank im Vorraus,
Uli