Вероятно вы знаете о недавней уязвимости в ActiveX компоненте MSVidCtl. Эта уязвимость позволяла выполнить свой код, используя уязвимость буфера. Не так давно в одном из блогов, посвящённом SDL можно было увидеть описание ошибки программиста, которая могла привести к переполнению буфера и ей могли воспользоваться хакеры.
Ошибка заключается в одном символе, вместо правильного кода:
hr = pStream->Read((void*)pbArray, (ULONG)cbSize, [...]
При разработке больших программ, работающих с большими объемами информации первое место занимает проблема обнаружения неправильного распределения памяти. Сама проблема состоит в том, что если мы выделили участок памяти, а затем освободили не весь выделенный объем, то образуются блоки памяти, которые помечены как занятые, но на самом деле они не используются. При длительной работе программы их [...]