GNU cflow 1.7 utiliidi väljalase

Pärast kolmeaastast arendustööd on välja antud utiliit GNU cflow 1.7, mis on loodud C-programmides funktsioonikutsete visuaalse graafiku koostamiseks, mida saab kasutada rakendusloogika uurimise lihtsustamiseks. Graafik on koostatud ainult lähtetekstide analüüsi põhjal, ilma et oleks vaja programmi käivitada. Toetatud on nii edasi- kui ka vastupidise täitmise voograafikute genereerimine, samuti koodifailide ristviidete loendite genereerimine.

Väljalase on tähelepanuväärne selle poolest, et on juurutatud väljundvormingu "punkt" ('—format=dot') tugi, et genereerida tulemus DOT-keeles, et hiljem Graphvizi paketis visualiseerida. Lisatud on võimalus määrata mitu algfunktsiooni, dubleerides suvandid "-main"; iga funktsiooni jaoks luuakse eraldi graafik. Samuti on lisatud valik “--target=FUNCTION”, mis võimaldab piirata saadud graafikut ainult teatud funktsioone sisaldava haruga (valikut “--target” saab määrata mitu korda). Cflow-režiimile on lisatud uued graafiku navigeerimise käsud: "c" - mine helistamisfunktsioonile, "n" - mine järgmisele funktsioonile antud pesastustasemel ja "p" - mine eelmisele funktsioonile samaga pesitsusaste.

Uus versioon kõrvaldab ka kaks haavatavust, mis tuvastati juba 2019. aastal ja mis viivad spetsiaalselt vormindatud lähtetekstide töötlemisel cflow-s mälu rikkumiseni. Esimese haavatavuse (CVE-2019-16165) põhjustab parserikoodis (parser.c-s viitefunktsioon) mälule juurdepääsu pärast vaba kasutamine. Teine haavatavus (CVE-2019-16166) on seotud funktsiooni nexttoken() puhvri ületäitumisega. Arendajate sõnul ei kujuta need probleemid turvaohtu, kuna need piirduvad utiliidi ebanormaalse lõpetamisega.

Allikas: opennet.ru

Lisa kommentaar