Описание тега buffer-overflow
Оперативная память разделена на ячейки памяти, каждая из которых способна хранить отдельный байт. Приложения используют разные размеры одного и того же типа данных для удовлетворения своих вычислительных потребностей, которые могут варьироваться от одного или нескольких (массивы) или динамически выделяемых (указатели). Проблемы обычно возникают, когда разработчики программного обеспечения используют массивы или указатели, не проверяя, что в целевом буфере достаточно места.
char Target[10];
char Input[20];
strcpy( Target, Input); // 1st Parameter: Destination, 2nd Parameter: Data
Перечисленный выше код плюс определенные условия могут свидетельствовать о повреждении переполнения буфера. Если кодировщик не примет необходимых мер предосторожности для проверки цели / ввода, это приведет к тому, что данные будут загружены в соседние ячейки памяти, что приведет к повреждению любого содержимого, хранящегося в них.
Такие результаты могут быть разрушительными, поскольку они влияют на общую целостность системы.