Strsafe.h - strsafe.h - Wikipedia

strsafe.h je nestandardní soubor záhlaví C dodávaný s Windows SDK počínaje Windows XP Service Pack 2[1] která poskytuje bezpečnější zacházení s vyrovnávací pamětí než ta, kterou poskytuje standard Funkce řetězce C., o kterých je všeobecně známo, že se týkají bezpečnostních problémů překročení vyrovnávací paměti pokud se nepoužívá správně.

Popis

Funkce obsažené v strsafe.h nahrazují standardní zpracování řetězců C a I / O funkce včetně printf, strlen, strcpy a strcat.[2] Funkce strsafe vyžadují jako parametr délku řetězce buď ve znacích nebo bajtech, a pokud by operace překročila délku cílové vyrovnávací paměti, operace se nezdaří a řetězec je stále ukončen nula ve svém konečném platném indexu, takže jeho použití v jiných knihovních funkcích nebude mít za následek nedefinované chování.[1][2] Nezávislí bezpečnostní vědci si všimli, že problémy s bezpečností jsou stále možné u funkcí ze strsafe.h, pokud jim není předána správná délka vyrovnávací paměti.[3] Použití této knihovny je doporučeno Ministerstvem vnitřní bezpečnosti Spojených států.[4]

Reference

  1. ^ A b „About Strsafe.h (Windows)“.
  2. ^ A b Richter, Jeffrey; Nasarre, Christophe. Windows prostřednictvím C / C ++ Páté vydání. Microsoft Press. str. 11–32. ISBN  9780735663770.
  3. ^ Daswani, Neil; Kern, Christopher; Kesavan, Anita. Základy zabezpečení: Co každý programátor potřebuje vědět. Apress Media LLC. p. 121. ISBN  9781590597842.
  4. ^ Plakosh, Daniel. "Strsafe.h | Vytvořit zabezpečení v".

externí odkazy