GNU cflow 1.7 a fost deja lansat și vine cu noi comenzi și multe altele

După trei ani de dezvoltare A fost anunțată lansarea noii versiuni a utilitarului GNU cflow 1.7. Pentru cei care nu cunosc acest utilitar, ar trebui să știți că este 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.

Graficulsau este construită exclusiv din analiza textelor sursă, fără a fi nevoie să rulați programul, pe lângă suportul pentru generarea de grafice de flux direct și invers, precum și generarea de liste de referințe încrucișate pentru fișierele cu cod.

Pachetul este complet funcțional și se compilează și rulează pe orice distribuție GNU/Linux și, de asemenea, pe sisteme mai noi asemănătoare UNIX. Acceptă toate comenzile de comutare de linie cerute de POSIX. Este capabil să producă rezultate în două formate: în format GNU cflow (care este implicit) și în format POSIX.

În prezent, utilitarul poate procesa doar fonturi C, deoarece este singura abatere de la specificațiile POSIX, necesitând capacitatea de a procesa fonturi YACC și LEX, precum și fișiere obiect binare.

Modulul Emacs cflow-mode.el funcționează cu fișiere în format GNU cflow (spre deosebire de formatul POSIX) și a fost testat cu Emacs 24.2.1.

Principalele caracteristici noi ale GNU cflow 1.7

În această nouă versiune a lansării se remarcă prin implementarea compatibilității cu formatul de ieșire „punct”. ('–format=dot') pentru a genera un rezultat DOT pentru procesare ulterioară în pachetul Graphviz.

În plus, se evidențiază și faptul că a adăugat posibilitatea de a specifica mai multe funcții de pornire prin duplicarea opțiunilor „-principale”, care va fi generat cu un grafic separat pentru fiecare dintre aceste funcţii.

De asemenea, este de remarcat faptul că a fost adăugată opțiunea „–target=FUNCTION” pentru a restricționa graficul rezultat la o singură ramură care include anumite funcții (opțiunea „–target” poate fi specificată de mai multe ori).

O altă modificare care a fost integrată în această nouă versiune a GNU cflow 1.7 este aceea au fost adăugate comenzi noi pentru navigarea în diagramă un cflow-mode: »c» care este folosit pentru a merge la funcția de apelare, «n» care este folosit pentru a merge la următoarea funcție din acest nivel de imbricare și «p» pentru a merge la funcția anterioară cu același nivel de imbricare.

Pe de altă parte, se mai menționează în anunțul acestei noi versiuni a GNU cflow 1.7 că, de asemenea, două vulnerabilități au fost eliminate care au fost identificate în 2019 și provoacă coruperea memoriei atunci când procesează texte sursă special concepute în cflow.

Dintre vulnerabilitățile care au fost rezolvate, se menționează următoarele:

  • Prima vulnerabilitate (CVE-2019-16165) apare la accesarea memoriei after free (use-after-free) în codul parserului (funcția la care se face referire în parser.c).
  • A doua vulnerabilitate (CVE-2019-16166) se referă la o depășire a tamponului în funcția nexttoken(). În opinia dezvoltatorilor, aceste probleme nu reprezintă o amenințare de securitate, deoarece se limitează la terminarea anormală a utilității.

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta despre această nouă versiune, puteți verifica detaliile în următorul link.

Cum se instalează cflow pe Linux?

Pentru cei care sunt interesați să poată instala acest utilitar pe sistemul lor, ar trebui să știți că cflow se află în depozitele unora dintre principalele distribuții Linux. Trebuie doar să menționez că noua versiune nu a fost încă implementată în unele dintre ele, dar va fi o chestiune de zile până să fie gata.

În cazul celor care sunt utilizatori Debian, Ubuntu sau orice derivat al acestora, puteți instala de pe terminal tastând următoarea comandă:

sudo apt install cflow -y

În cazul utilizatorilor Arch Linux, Manjaro sau orice altă distribuție derivată din acestea, instalarea trebuie făcută din depozitele AUR:

yay -s cflow

În ceea ce privește cei care sunt interesați de compilarea noii versiuni, o puteți obține de la următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.