Ist free (ptr), wo ptr NULL ist, ein beschädigter Speicher?
Theoretisch kann ich das sagen
free(ptr);
free(ptr);
ist eine Speicherbeschädigung, da wir den Speicher freigeben, der bereits freigegeben wurde.
Aber was wenn
free(ptr);
ptr=NULL;
free(ptr);
Da sich das Betriebssystem undefiniert verhält, kann ich dazu keine theoretische Analyse darüber bekommen, was passiert. Was auch immer ich tue, ist dieses Gedächtnis korrupt oder nicht?
Ist das Freigeben eines Nullzeigers gültig?