Siirry sisältöön

Pinon ylivuotovirhe

Wikipediasta
Tämä artikkeli käsittelee ohjelmointivirhettä. Verkkoyhteisöä käsittelevä artikkeli on Stack Overflow.

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ä]