Pinon ylivuotovirhe

Pinon ylivuotovirhe (engl. stack overflow) on virhetilanne tietokoneohjelmassa, jolloin ajonaikaiselle pinolle varattu tila ei riitä (säie käyttää kaiken sille varatun tilan).[1][2] Virhe johtaa tyypillisesti ohjelman kaatumiseen.[3] Ajonaikaiselle pinolle varattua tilaa voi tietyissä tapauksissa kasvattaa, mutta yleensä suositellaan muuttamaan ohjelmaa.[3]

Tyypillinen syy on ääretön rekursio.[1] Toinen syy on liian suuri pinosta varattu taulukko[3] tai sen ohi kirjoittaminen. Haittaohjelmat voivat pyrkiä hyökkäykseen pinon kautta esimerkiksi ylikirjoittamalla paluuosoitteen.[4]

  1. a b Debugging a Stack Overflow learn.microsoft.com. 15.12.2021. Viitattu 8.10.2022. (englanniksi)
  2. The StackOverflowError in Java baeldung.com. 5.9.2022. Viitattu 8.10.2022. (englanniksi)
  3. a b c 15.1.6 Stack Overflow gcc.gnu.org. Viitattu 8.10.2022. (englanniksi)
  4. CWE-121: Stack-based Buffer Overflow cwe.mitre.org. Viitattu 8.10.2022. (englanniksi)

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]