Y'a aussi des modèles dans lesquels un objet prend possession d'un autre objet, et doit donc se charger de le libérer, même si c'est pas lui qui l'a alloué (donc celui qui lui passe l'objet ne doit en échange surtout pas le libérer). Ainsi que des modèles où une fonction te retourne un pointeur vers objet que tu dois donc libérer ensuite, etc.
Ce qui compte c'est que les deux côtés soient d'accord sur ce qu'ils font. (Mais il faut faire les bons choix au bons endroits, tous les modèles sont acceptables si bien utilisés)
Après tout, le double-free est tout aussi méchant que la fuite de mémoire
