Lansarea utilitarului GNU cflow 1.7

După trei ani de dezvoltare, a fost lansat utilitarul GNU cflow 1.7, conceput pentru a construi un grafic vizual al apelurilor de funcții în programele C, care poate fi folosit pentru a simplifica studiul logicii aplicației. Graficul este construit doar pe baza analizei textelor sursă, fără a fi necesară executarea programului. Este acceptată generarea de grafice de flux de execuție înainte și inversă, precum și generarea de liste de referințe încrucișate pentru fișierele de cod.

Versiunea este notabilă pentru implementarea suportului pentru formatul de ieșire „dot” ('—format=dot') pentru generarea rezultatului în limbajul DOT pentru vizualizarea ulterioară în pachetul Graphviz. S-a adăugat posibilitatea de a specifica mai multe funcții de pornire prin duplicarea opțiunilor „—principale”; va fi generat un grafic separat pentru fiecare dintre aceste funcții. De asemenea, este adăugată opțiunea „--target=FUNCTION”, care vă permite să limitați graficul rezultat doar la ramura care include anumite funcții (opțiunea „--target” poate fi specificată de mai multe ori). Noi comenzi pentru navigarea prin grafic au fost adăugate în modul cflow: „c” - mergeți la funcția de apelare, „n” - mergeți la următoarea funcție la un anumit nivel de imbricare și „p” - mergeți la funcția anterioară cu același nivel de cuibărire.

Noua versiune elimină, de asemenea, două vulnerabilități care au fost identificate în 2019 și duc la coruperea memoriei la procesarea textelor sursă formatate special în cflow. Prima vulnerabilitate (CVE-2019-16165) este cauzată de un acces la memorie după utilizare liberă în codul parserului (funcția de referință în parser.c). A doua vulnerabilitate (CVE-2019-16166) este legată de o depășire a tamponului în funcția nexttoken(). Potrivit dezvoltatorilor, aceste probleme nu reprezintă o amenințare de securitate, deoarece se limitează la terminarea anormală a utilității.

Sursa: opennet.ru

Adauga un comentariu