GNU cflow 1.7 už bol vydaný a prichádza s novými príkazmi a ďalšími

Po troch rokoch vývoja bolo oznámené vydanie novej verzie GNU cflow utility 1.7. Tí, ktorí o tejto pomôcke nevedia, by mali vedieť, že je navrhnutý na vytvorenie vizuálneho grafu volaní funkcií v programoch C, ktorý možno použiť na zjednodušenie štúdia aplikačnej logiky.

grafalebo je zostavený výlučne z analýzy zdrojových textov, bez nutnosti spúšťania programu, navyše podporuje generovanie dopredných a spätných tokových grafov, ako aj vytváranie zoznamov krížových odkazov pre súbory s kódom.

Balík je plne funkčný a kompiluje sa a beží na akejkoľvek distribúcii GNU/Linux a tiež na novších systémoch podobných UNIX. Podporuje všetky príkazy na prepínanie riadkov, ktoré vyžaduje POSIX. Je schopný produkovať výstup v dvoch formátoch: formát GNU cflow (ktorý je predvolený) a formát POSIX.

V súčasnosti môže nástroj spracovávať iba písma C, pretože ide o jedinú odchýlku od špecifikácií POSIX, ktorá vyžaduje schopnosť spracovať písma YACC a LEX, ako aj súbory binárnych objektov.

Modul cflow-mode.el Emacs pracuje so súbormi vo formáte GNU cflow (na rozdiel od formátu POSIX) a bol testovaný s Emacsom 24.2.1.

Hlavné nové funkcie GNU cflow 1.7

V tejto novej verzii pozoruhodný implementáciou podpory pre výstupný formát "dot". ('–format=dot') na vygenerovanie výsledku DOT na ďalšie spracovanie v balíku Graphviz.

Okrem toho sa tiež zdôrazňuje, že pridaná možnosť špecifikovať viacero funkcií spúšťania duplikovaním možností „–main“, ktorý sa vygeneruje so samostatným grafom pre každú z týchto funkcií.

Treba tiež poznamenať, že bola pridaná možnosť "–target=FUNCTION" na obmedzenie výsledného grafu len na jednu vetvu ktorý obsahuje určité funkcie (možnosť „–cieľ“ môže byť zadaná viackrát).

Ďalšou zmenou, ktorá bola integrovaná do tejto novej verzie GNU cflow 1.7, je tá boli pridané nové príkazy na navigáciu v mapách cflow-mode: „c“, ktorý sa používa na prechod na funkciu volania, „n“, ktorý sa používa na prechod na ďalšiu funkciu v tejto úrovni vnorenia, a „p“ na prechod na predchádzajúcu funkciu s rovnakou úrovňou vnorenia .

Na druhej strane je to tiež uvedené v oznámení o tejto novej verzii GNU cflow 1.7 odstránené dve zraniteľnosti ktoré boli identifikované v roku 2019 a spôsobujú poškodenie pamäte pri spracovaní špeciálne vytvorených zdrojových textov v cflow.

Z chýb zabezpečenia, ktoré boli opravené, sú uvedené tieto:

  • Prvá zraniteľnosť (CVE-2019-16165) sa vyskytuje pri prístupe k pamäti po uvoľnení (použitie po uvoľnení) v kóde analyzátora (odkazovaná funkcia v parser.c).
  • Druhá chyba zabezpečenia (CVE-2019-16166) súvisí s pretečením vyrovnávacej pamäte vo funkcii nexttoken(). Podľa názoru vývojárov tieto problémy nepredstavujú bezpečnostnú hrozbu, pretože sú obmedzené na abnormálne ukončenie utility.

Konečne ak máte záujem dozvedieť sa o tom viac o tejto novej verzii si môžete pozrieť podrobnosti v nasledujúci odkaz.

Ako nainštalovať cflow na Linuxe?

Pre tých, ktorí majú záujem o možnosť nainštalovať si tento nástroj do svojho systému, by mali vedieť, že cflow sa nachádza v úložiskách niektorých hlavných distribúcií Linuxu. Musím len spomenúť, že v niektorých ešte nie je implementovaná nová verzia, no hotová bude v priebehu niekoľkých dní.

V prípade tých, ktorí sú používateľmi Debianu, Ubuntu alebo akéhokoľvek ich derivátu, môžu nainštalovať z terminálu zadaním nasledujúceho príkazu:

sudo apt install cflow -y

V prípade používateľov Arch Linuxu, Manjaro alebo akejkoľvek inej distribúcie odvodenej od nich sa inštalácia musí vykonať z repozitárov AUR:

yay -s cflow

Pokiaľ ide o tých, ktorí majú záujem o kompiláciu novej verzie, môžu ju získať z nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.