GNU cflow 1.7 již byla vydána a přichází s novými příkazy a dalšími

Po třech letech vývoje bylo oznámeno vydání nové verze GNU cflow utility 1.7. Pro ty, kteří o této pomůcce nevědí, by měli vědět, že ano 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.

Grafnebo je konstruována pouze na základě analýzy výchozích textů, bez nutnosti spouštění programu, navíc s podporou generování grafů přímých a zpětných toků a také generování seznamů křížových odkazů pro soubory s kódem.

Balíček je plně funkční a kompiluje se a běží na libovolné distribuci GNU/Linux a také na novějších systémech podobných UNIXu. Podporuje všechny příkazy pro přepínání linek požadované POSIXem. Je schopen produkovat výstup ve dvou formátech: formát GNU cflow (což je výchozí) a formát POSIX.

V současné době může nástroj zpracovávat pouze písma C, protože se jedná o jedinou odchylku od specifikací POSIX, která vyžaduje schopnost zpracovávat písma YACC a LEX a také soubory binárních objektů.

Modul cflow-mode.el Emacs pracuje se soubory ve formátu GNU cflow (na rozdíl od formátu POSIX) a byl testován s Emacsem 24.2.1.

Hlavní nové funkce GNU cflow 1.7

V této nové verzi vydání pozoruhodný implementací podpory pro výstupní formát „tečka“. ('–format=tečka') pro vygenerování výsledku DOT pro další zpracování v balíčku Graphviz.

Kromě toho je také zdůrazněno, že přidána možnost specifikovat více spouštěcích funkcí duplikováním voleb '–main', který bude generován se samostatným grafem pro každou z těchto funkcí.

Je také třeba poznamenat, že opce "–target=FUNCTION", chcete-li omezit výsledný graf pouze na jednu větev který obsahuje určité funkce (možnost „–cíl“ lze zadat vícekrát).

Další změnou, která byla integrována do této nové verze GNU cflow 1.7, je tato byly přidány nové příkazy pro navigaci v mapě cflow-mode: »c" který se používá k přechodu na volající funkci, "n" se používá k přechodu na další funkci na této úrovni vnoření a "p" k přechodu na předchozí funkci se stejnou úrovní vnoření.

Na druhou stranu je to také zmíněno v oznámení této nové verze GNU cflow 1.7 odstraněny dvě zranitelnosti které byly v roce 2019 identifikovány způsobující poškození paměti při zpracování speciálně vytvořených zdrojových textů v cflow.

Z chyb zabezpečení, které byly opraveny, jsou uvedeny následující:

  • K první chybě zabezpečení (CVE-2019-16165) dochází při přístupu k paměti po uvolnění (use-after-free) v kódu analyzátoru (odkazovaná 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 názoru vývojářů tyto problémy nepředstavují bezpečnostní hrozbu, protože jsou omezeny na abnormální ukončení nástroje.

Konečně pokud máte zájem o tom vědět více o této nové verzi můžete zkontrolovat podrobnosti v následující odkaz.

Jak nainstalovat cflow na Linux?

Pro ty, kteří mají zájem o možnost nainstalovat tento nástroj na svůj systém, by měli vědět, že cflow je v repozitářích některých hlavních distribucí Linuxu. Musím jen zmínit, že nová verze ještě není v některých z nich implementována, ale bude hotová v řádu dnů.

V případě těch, kteří jsou uživateli Debianu, Ubuntu nebo jakékoli jejich odvozeniny, mohou instalaci provést z terminálu zadáním následujícího příkazu:

sudo apt install cflow -y

V případě uživatelů Arch Linux, Manjaro nebo jakékoli jiné z nich odvozené distribuce musí být instalace provedena z repozitářů AUR:

yay -s cflow

Pokud jde o ty, kteří mají zájem o možnost zkompilovat novou verzi, mohou ji získat z následující odkaz.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.