Vydání obslužného programu GNU cflow 1.7

Po třech letech vývoje byla vydána utilita GNU cflow 1.7, navržená k vytvoření vizuálního grafu volání funkcí v programech C, který lze použít ke zjednodušení studia aplikační logiky. Graf je konstruován pouze na základě analýzy zdrojových textů, bez nutnosti spouštění programu. Je podporováno generování dopředných i zpětných grafů toku provádění, stejně jako generování seznamů křížových odkazů pro soubory kódu.

Vydání je pozoruhodné implementací podpory pro výstupní formát „tečka“ („—format=tečka“) pro generování výsledku v jazyce DOT pro následnou vizualizaci v balíčku Graphviz. Přidána možnost specifikovat více počátečních funkcí duplikováním možností „—hlavní“; pro každou z těchto funkcí bude vygenerován samostatný graf. Přidána je také volba „--target=FUNCTION“, která umožňuje omezit výsledný graf pouze na větev obsahující určité funkce (volbu „--target“ lze zadat vícekrát). Do režimu cflow byly přidány nové příkazy pro navigaci v grafu: „c“ – přechod na volající funkci, „n“ – přechod na další funkci na dané úrovni vnoření a „p“ – přechod na předchozí funkci se stejnou úroveň vnoření.

Nová verze také odstraňuje dvě zranitelnosti, které byly identifikovány již v roce 2019 a vedou k poškození paměti při zpracování speciálně formátovaných zdrojových textů v cflow. První chyba zabezpečení (CVE-2019-16165) je způsobena přístupem do paměti v kódu analyzátoru (referenční funkce v parser.c). Druhá chyba zabezpečení (CVE-2019-16166) souvisí s přetečením vyrovnávací paměti ve funkci nexttoken(). Podle vývojářů tyto problémy nepředstavují bezpečnostní hrozbu, protože jsou omezeny na abnormální ukončení nástroje.

Zdroj: opennet.ru

Přidat komentář