Izdaja pripomočka GNU cflow 1.7

Po treh letih razvoja je bil izdan pripomoček GNU cflow 1.7, namenjen izdelavi vizualnega grafa klicev funkcij v programih C, ki se lahko uporablja za poenostavitev študija logike aplikacije. Graf je sestavljen samo na podlagi analize izvornih besedil, brez potrebe po izvajanju programa. Podprto je ustvarjanje tako grafov poteka za naprej kot za povratno izvajanje, kot tudi ustvarjanje seznamov navzkrižnih sklicev za kodne datoteke.

Izdaja je znana po izvedbi podpore za izhodni format »pika« ('—format=dot') za generiranje rezultata v jeziku DOT za kasnejšo vizualizacijo v paketu Graphviz. Dodana možnost določanja več začetnih funkcij s podvajanjem možnosti '—main'; za vsako od teh funkcij bo ustvarjen ločen graf. Dodana je tudi možnost “--target=FUNCTION”, ki vam omogoča, da končni graf omejite samo na vejo, ki vključuje določene funkcije (možnost “--target” lahko podate večkrat). V cflow-mode so bili dodani novi ukazi za navigacijo po grafih: “c” - pojdi na klicno funkcijo, “n” - pojdi na naslednjo funkcijo na dani ravni gnezdenja in “p” - pojdi na prejšnjo funkcijo z istim raven gnezdenja.

Nova različica odpravlja tudi dve ranljivosti, ki sta bili odkriti leta 2019 in vodita do poškodb pomnilnika pri obdelavi posebej oblikovanih izvornih besedil v cflow. Prvo ranljivost (CVE-2019-16165) povzroča dostop do pomnilnika po sprostitvi uporabe v kodi razčlenjevalnika (referenčna funkcija v parser.c). Druga ranljivost (CVE-2019-16166) je povezana s prekoračitvijo medpomnilnika v funkciji nexttoken(). Po mnenju razvijalcev te težave ne predstavljajo varnostne grožnje, saj so omejene na nenormalno prekinitev pripomočka.

Vir: opennet.ru

Dodaj komentar