sprintf

Jiří Nesvačil nesvacil na posys.eu
Čtvrtek Listopad 3 17:21:54 CET 2016


Funkce typu printf potrebuji buffer na formatovaci hodnoty napriklad " cislo je %ld". Uvnitr je to vetsinou implementovano, ze se to %ld propere pres nejaky buffer a universalni funkci na prevod na cislo. Ten buffer je ta zajimavost.

Jirka


Dne 3. 11. 2016 v 17:10 Pavel Hudecek napsal(a):
> Dobrý den všem,
>
> včera jsem se tu dozvěděl o "nebezpečnosti" sprintf. Abych si to ujasnil, tak doplňující otázky:
>
> 1. Ta nebezpečnost spočívá jen v možnosti přetečení výsledku mimo buffer, pokud byla jeho velikost programátorem podceněna, či formátovací string nebyl ukončen? Tzn. nejedná se o žádnou speciální nebezpečnost této fn a je prostě třeba si dávat 
> stejný pozor, jako při jakékoli jiné práci s poli?
>
> 2. Nebo je nebezpečnost o něco větší a hrozí, že se ta fn někdy nějak zblázní a vyprodukuje nesmyslně více dat? Tzn. řešením je jedině nahrazení verzí s N?
>
> 3. Nebo je nebezpečná nějak jinak a ani N to nezachrání? Pokud ano, týká se to i printf?
>
> 4. Co je za problém s sprintf a thready? Týká se to i printf (kromě očekávatelného problému, že by se mohl pohádat o výstupní zařízení s jiným threadem)?
>
> PH
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list