overrun screw



Предыдущая | Следующая

overrun screw (финт квазипереполнения), сущ. Разновидность программной ошибки вследствие fandango on core, в результате которой данные записываются за пределами отведенной для них области (компилятор Си такие ситуации не отслеживает). Если данные записываются в,статический массив, ошибка легко обнаруживается и поэтому не считается страшной. Но если вы имеете дело с динамической памятью, в результате такой ошибки портится стек, а в программе селится тварь, которую без преувеличения можно отнести к одной из самых дьявольских разновидностей гейзенбага (см. heisenbug). Этот термин используется в ситуациях, когда данные записываются за пределы области, выделенной программе с помощью вызова malloc(3). В этом случае с большой вероятностью происходит разрушение заголовка выделенного блока памяти, в котором находится ссылка на следующий блок в поле битвы (см. arena), поэтому следующее обращение к функциям malloc(3) или stdio(3) не будет отработано правильно и выдаст портянку. См. spam, overrun, memory leak, memory smash, aliasing bug, precedence lossage, fandango on core, secondary damage.