Onestamente a me puzza di undefined beaviour quel pezzo di codice. Un puntatore non più valido non dovrebbe essere mai usato se non per appiccicarci un altro pezzo di memoria.