Здравствуйте, Kernan, Вы писали:
K>Ты бы сказал в чём была проблема что ли.
Да проблема стандартная, копи-пасте называется
Ну, а детали следующие:
Вызывается
void* ptr = malloc( 0 )
ptr — имеет реальное и валидное значение, а потом
memcpy( ptr, src, от 300 до 1500 байт )
Я так понимаю malloc с размером 0 хендлится несколько иначе, чем с реальным размером. И этот блок памяти с нулевым размером лежит в особом месте хипа, поэтому всякие защитные бордеры не сработали, и затирали мы походу важный кусок памяти.