"free" führt zu Programmabstürzen
-
Bitte genau lesen - bei diesem konstrukt das printf, wo man ist und prüfen, warum das Teil NULL ist.
Wenn ich mal so Probleme habe,
vor dem free
if (pointer == NULL) {
printf("Hier bei -- sollte nicht sein\n");
}
else
free (pointer);Das war als Debugging-Hilfe gedacht und nicht als ordentliches Programmdesign.
-
Aber wieso sollte der Zeiger jemals Null werden? Hier wurde doch der Heap zerschossen oder ein falscher Pointer ge-free-ed, Nullzeiger kommen nirgends vor.