GNU cflow 1.7 utilīta izlaišana

Pēc trīs gadu izstrādes ir izlaista utilīta GNU cflow 1.7, kas paredzēta, lai izveidotu vizuālu funkciju izsaukumu grafiku C programmās, ko var izmantot, lai vienkāršotu lietojumprogrammu loģikas izpēti. Grafiks tiek veidots, tikai pamatojoties uz avota tekstu analīzi, bez nepieciešamības izpildīt programmu. Tiek atbalstīta gan tiešās, gan apgrieztās izpildes plūsmas grafiku ģenerēšana, kā arī savstarpējo atsauču sarakstu ģenerēšana koda failiem.

Izlaidums ir ievērojams ar atbalsta ieviešanu “dot” izvades formātam ('—format=dot'), lai ģenerētu rezultātu DOT valodā turpmākai vizualizācijai Graphviz pakotnē. Pievienota iespēja norādīt vairākas sākuma funkcijas, dublējot “—galvenās” opcijas; katrai no šīm funkcijām tiks ģenerēts atsevišķs grafiks. Ir pievienota arī opcija “--target=FUNCTION”, kas ļauj ierobežot iegūto grafiku tikai tajā atzarā, kas ietver noteiktas funkcijas (opciju “--target” var norādīt vairākas reizes). Cflow režīmam ir pievienotas jaunas komandas grafu navigācijai: “c” - pāriet uz izsaukšanas funkciju, “n” - pāriet uz nākamo funkciju noteiktā ligzdošanas līmenī un “p” - pāriet uz iepriekšējo funkciju ar to pašu ligzdošanas līmenis.

Jaunā versija arī novērš divas ievainojamības, kas tika identificētas 2019. gadā un izraisa atmiņas bojājumus, apstrādājot īpaši formatētus avota tekstus programmā Cflow. Pirmo ievainojamību (CVE-2019-16165) izraisa parsētāja koda piekļuve atmiņai pēc izmantošanas (atsauces funkcija failā parser.c). Otrā ievainojamība (CVE-2019-16166) ir saistīta ar bufera pārpildīšanu funkcijā nexttoken(). Pēc izstrādātāju domām, šīs problēmas nerada draudus drošībai, jo tās aprobežojas ar neparastu utilītas darbības pārtraukšanu.

Avots: opennet.ru

Pievieno komentāru