Co je přetečení vyrovnávací paměti?
K přetečení vyrovnávací paměti dochází, když se program pokouší zapsat do vyrovnávací paměti a vystoupí mimo její hranice, což má za následek zapsání informací programu do paměti, která potenciálně patří jinému programu. To narušuje integritu paměti v operačním systému, což má za následek vážnou chybu a potenciální selhání prováděcího programu. Hlavní nebezpečí přetečení nárazníku pochází ze dvou hlavních prvků. Zaprvé, informace zapsané mimo vyrovnávací paměť jsou zdánlivě „ztraceny“, protože mapa paměti počítače - její seznam paměťových míst - za ně nemohou odpovídat. Za druhé, přetečení vyrovnávací paměti může omylem přepsat informace uložené v paměti pro jiný program, což účinně narušuje provádění jiného programu.
"Vyrovnávací paměť" je oblast paměti používaná jako dočasné úložiště, zatímco počítač přenáší informace z jednoho bodu do druhého. Nejběžnější použití vyrovnávací paměti je obvykle při přehrávání videa nebo zvuku, kde počítač narazí na další X sekundy záběry nebo zvuku v paměti, čímž zajistí, že přehrávání nebude přerušeno, pokud se v systému dočasně něco stane. Vyrovnávací paměť existuje pouze v konkrétním, předem určeném místě v paměti počítače, podobně jako země existuje pouze v hraničních čarách nakreslených na mapě. Vykročit mimo tyto virtuální „řádky“ má za následek problémy nejen pro běh programu, ale i pro jiné programy v systému.
Program v zásadě vystoupil mimo přidělenou jurisdikci a napadl prostor jiného pracovního programu. Jakmile k tomu dojde, informace zapsané mimo vyrovnávací paměť skutečně spadnou z mapy počítače; jinými slovy, systém již nemá způsob, jak jej získat. Vzhledem k tomu, že počítač „ví“, že vyhledává informace ve vyrovnávací paměti v rámci specifického vyrovnávacího prostoru přiděleného v paměti, nemá způsob, jak zjistit, kam přetečené informace zmizely.
Kromě toho má přetečení vyrovnávací paměti potenciál narušit jiné programy spuštěné v počítači. Představte si, že paměťový prostor na obou stranách vyrovnávací paměti již byl přiřazen jiným spuštěným programům. Jakmile informace ve vyrovnávací paměti krvácí kolem navržené oblasti, přepíše a poškodí všechny informace již uložené v těchto částech paměti. Proto je přetečení vyrovnávací paměti problémem, který může podkopat účinnost sousedního programu a poškodit jeho vlastní činnost.