В чем разница между разбрызгиванием кучи, переполнением кучи, переполнением кучи? - PullRequest
6 голосов
/ 26 марта 2009

В чем разница между разбрызгиванием кучи, переполнением кучи, переполнением кучи?

Можно ли заменить эти термины на распыление буфера, переполнение буфера, переполнение буфера?

У них тоже есть такие же определения?

Ответы [ 2 ]

8 голосов
/ 26 марта 2009
  • Распыление - это запись вещей по случайным (или, по крайней мере, произвольным) адресам в именованном пространстве, что приводит к повреждению произвольных вещей в пространстве
  • Переполнение помещает больше данных в пространство, чем оно будет содержать, тем самым разрушая смежные области
  • Переполнение помещает больше данных в подмножество пространства (например, объект, выделенный в этом пространстве), чем было выделено для этого подмножества, тем самым повреждая соседние объекты.
0 голосов
/ 03 августа 2009

«Куча» обычно относится к динамически выделяемой памяти. «Буфер» может находиться в куче, но также может быть статическим или находиться в стеке.

...