GNU cflow 1.7 er allerede blevet frigivet og kommer med nye kommandoer og mere

Efter tre års udvikling udgivelsen af ​​den nye version af GNU cflow-værktøjet 1.7 blev annonceret. For dem, der ikke er klar over dette værktøj, bør de vide, at det er det designet til at bygge en visuel graf over funktionskald i C-programmer, som kan bruges til at forenkle studiet af applikationslogik.

diagrammeteller det er udelukkende konstrueret ud fra analysen af ​​kildeteksterne, uden behov for at køre programmet, plus det understøtter generering af fremadgående og omvendte flow-grafer, samt generering af krydsreferencelister for filer med kode.

Pakken er fuldt funktionel og kompilerer og kører på enhver GNU/Linux-distribution og også på nyere UNIX-lignende systemer. Den understøtter alle linjeskiftkommandoer, der kræves af POSIX. Det er i stand til at producere output i to formater: GNU cflow-format (som er standard) og POSIX-format.

I øjeblikket kan hjælpeprogrammet kun behandle C-skrifttyper, da dette er den eneste afvigelse fra POSIX-specifikationerne, som kræver evnen til at behandle YACC- og LEX-skrifttyper samt binære objektfiler.

cflow-mode.el Emacs-modulet arbejder med filer i GNU cflow-formatet (i modsætning til POSIX-formatet) og er blevet testet med Emacs 24.2.1.

De vigtigste nye funktioner i GNU cflow 1.7

I denne nye udgivelsesversion bemærkelsesværdig for implementering af understøttelse af "dot" outputformatet ('–format=dot') for at generere et DOT-resultat til yderligere behandling i Graphviz-pakken.

Derudover fremhæves det også tilføjet muligheden for at specificere flere opstartsfunktioner ved at duplikere '–main' mulighederne, som vil blive genereret med en separat graf for hver af disse funktioner.

Det bemærkes også, at muligheden blev tilføjet "–target=FUNCTION" for at begrænse den resulterende graf til kun én gren som omfatter visse funktioner (“–mål”-indstillingen kan angives flere gange).

En anden ændring, der er blevet integreret i denne nye version af GNU cflow 1.7, er det nye kommandoer til kortnavigation er blevet tilføjet en cflow-mode:"c" som bruges til at gå til den kaldende funktion, "n" som bruges til at gå til næste funktion i dette indlejringsniveau og "p" for at gå til den forrige funktion med samme indlejringsniveau .

På den anden side er det også nævnt i meddelelsen om denne nye version af GNU cflow 1.7, at også to sårbarheder fjernet der blev identificeret i 2019, hvilket forårsagede hukommelseskorruption ved behandling af specielt udformede kildetekster i cflow.

Af de sårbarheder, der blev rettet, er følgende nævnt:

  • Den første sårbarhed (CVE-2019-16165) opstår, når hukommelsen tilgås efter fri (brug-efter-fri) i parserkode (refereret funktion i parser.c).
  • Den anden sårbarhed (CVE-2019-16166) er relateret til et bufferoverløb i funktionen nexttoken(). Efter udviklernes mening repræsenterer disse problemer ikke en sikkerhedstrussel, da de er begrænset til unormal afslutning af hjælpeprogrammet.

Endelig hvis du er interesseret i at vide mere om det om denne nye version kan du tjekke detaljerne i følgende link.

Hvordan installeres cflow på Linux?

For dem, der er interesseret i at kunne installere dette værktøj på deres system, bør de vide, at cflow er inden for lagrene i nogle af de vigtigste Linux-distributioner. Jeg skal blot nævne, at den nye version endnu ikke er implementeret i nogle af dem, men den vil være klar i løbet af få dage.

I tilfælde af dem, der er brugere af Debian, Ubuntu eller en hvilken som helst afledt af disse, kan de installere fra terminalen ved at skrive følgende kommando:

sudo apt install cflow -y

I tilfælde af brugere af Arch Linux, Manjaro eller enhver anden distribution afledt af disse, skal installationen udføres fra AUR-lagrene:

yay -s cflow

Hvad angår dem, der er interesseret i at kunne kompilere den nye version, kan de få den fra følgende link.


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort.

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.