Вы получили ошибку. Вы превысили размер буфера, и ничего страшного не произошло. Наивно, когда вы превышаете буфер, должно произойти что-то ужасное. То, что вы ожидали, не произошло, определение ошибки.
Я не пытаюсь быть легкомысленным. Моя точка зрения серьезна: если вы нарушаете правила, вы не представляете, что произойдет. Вы можете получить ошибку. Это может показаться хорошо. Что-то еще может случиться. В принципе, это непредсказуемо. Он может измениться с компилятора на компилятор, операционную систему на операционную систему или даже работать для запуска.
Вероятно, в этом случае произошло то, что buf
- это последнее, что есть в стеке, и место после него не используется для чего-либо критического. Поэтому использование некоторого пространства после него безвредно. В конечном итоге вы можете столкнуться с критической структурой или страницей, которая недоступна для записи, что приведет к ошибке.