История изменений
Исправление alysnix, (текущая версия) :
при delete, в данное место памяти будут прописаны - указатель на следующий свободный блок, размер блока, и «магическое слово»(но это зависит от философии менеджера кучи).
итак кусок стека вам занесли в список свободных блоков менеджера кучи, расписав стек за данным обектом служебной инфой. поскольку у вас размер обьекта в размер int, а писать менеджер кучи будет 2-3 инта туда, то вам распишут область за обьектом. проверьте это сами, сделав там перемиенную.
потом туда записали 11, и поломали этот список свободных блоков совсем. теперь чтобы проверить, что куча сломана, надо просто попросить у кучи 1 байт, через malloc какой-нить. впрочем менеджер может вам и отдать этот блок, если просто берет из списка свободных блоков - первый подходящий. вообще менеджеры устроены не совсем уж так просто, обчно они хранят свободные блоки разных размеров в разных списках, чтобы искать быстрее первый подходящий, например.
Исходная версия alysnix, :
при delete, в данное место памяти будут прописаны - указатель на следующий свободный блок, размер блока, и «магическое слово»(но это зависит от философии менеджера кучи).
итак кусок стека вам занесли в список свободных блоков менеджера кучи, расписав стек за данным обектом служебной инфой. поскольку у вас размер обьекта в размер int, а писать менеджер кучи будет 2-3 инта туда, то вам распишут область за обьектом. проверьте это сами, сделав там перемиенную.
потом туда записали 11, и поломали этот список свободных блоков совсем. теперь чтобы проверить, что куча сломана, надо просто попросить у кучи 1 байт, через malloc какой-нить. впрочем менеджер может вам и отдать этот блок, если просто берет из списка свободных блоков - первый подходящий. вообще менеджеры устроены не совсем уж так просто, обчно они хранят свободные блоки разных размеров в разных списках, чтобы искать быстрее первый подходящий, напримерю