GNU cflow 1.7 er allerede utgitt og kommer med nye kommandoer og mer

Etter tre års utvikling utgivelsen av den nye versjonen av GNU cflow-verktøyet 1.7 ble annonsert. For de som ikke er klar over dette verktøyet, bør de vite at det er det designet for å bygge en visuell graf av funksjonskall i C-programmer, som kan brukes til å forenkle studiet av applikasjonslogikk.

diagrammeteller den er konstruert utelukkende fra analysen av kildetekstene, uten behov for å kjøre programmet, pluss at det støtter generering av forover- og bakoverflyt-grafer, samt generering av kryssreferanselister for filer med kode.

Pakken er fullt funksjonell og kompilerer og kjører på enhver GNU/Linux-distribusjon og også på nyere UNIX-lignende systemer. Den støtter alle linjebryterkommandoer som kreves av POSIX. Den er i stand til å produsere utdata i to formater: GNU cflow-format (som er standard) og POSIX-format.

Foreløpig kan verktøyet kun behandle C-fonter, da dette er det eneste avviket fra POSIX-spesifikasjonene, som krever evnen til å behandle YACC- og LEX-fonter, samt binære objektfiler.

cflow-mode.el Emacs-modulen fungerer med filer i GNU cflow-formatet (i motsetning til POSIX-formatet) og har blitt testet med Emacs 24.2.1.

De viktigste nye funksjonene i GNU cflow 1.7

I denne nye versjonen kjent for å implementere støtte for "dot"-utdataformatet ('–format=dot') for å generere et DOT-resultat for videre behandling i Graphviz-pakken.

I tillegg er det også fremhevet at lagt til muligheten til å spesifisere flere oppstartsfunksjoner ved å duplisere "–main" alternativene, som vil bli generert med en egen graf for hver av disse funksjonene.

Det bemerkes også at alternativet ble lagt til "–target=FUNCTION" for å begrense den resulterende grafen til bare én gren som inkluderer visse funksjoner («–mål»-alternativet kan spesifiseres flere ganger).

En annen endring som har blitt integrert i denne nye versjonen av GNU cflow 1.7 er det nye kommandoer for kartnavigering er lagt til en cflow-modus:"c" som brukes for å gå til kallefunksjonen, "n" som brukes til å gå til neste funksjon i dette nestenivået og "p" for å gå til forrige funksjon med samme nivå .

På den annen side er det også nevnt i kunngjøringen av denne nye versjonen av GNU cflow 1.7 at også to sårbarheter fjernet som ble identifisert i 2019 som forårsaket minnekorrupsjon ved behandling av spesiallagde kildetekster i cflow.

Av sårbarhetene som ble rettet, er følgende nevnt:

  • Den første sårbarheten (CVE-2019-16165) oppstår når minne åpnes etter ledig (bruk-etter-fri) i parserkode (referert funksjon i parser.c).
  • Den andre sårbarheten (CVE-2019-16166) er relatert til en bufferoverflyt i nexttoken()-funksjonen. Etter utviklernes oppfatning representerer ikke disse problemene en sikkerhetstrussel, da de er begrenset til unormal avslutning av verktøyet.

Endelig hvis du er interessert i å vite mer om det om denne nye versjonen, kan du sjekke detaljene i følgende lenke.

Hvordan installerer jeg cflow på Linux?

For de som er interessert i å kunne installere dette verktøyet på systemet deres, bør de vite at cflow er innenfor lagrene til noen av de viktigste Linux-distribusjonene. Jeg må bare nevne at den nye versjonen ennå ikke er implementert i noen av dem, men den vil være klar i løpet av få dager.

Når det gjelder de som er brukere av Debian, Ubuntu eller et hvilket som helst derivat av disse, kan de installere fra terminalen ved å skrive følgende kommando:

sudo apt install cflow -y

Når det gjelder brukere av Arch Linux, Manjaro eller annen distribusjon avledet fra disse, må installasjonen gjøres fra AUR-lagrene:

yay -s cflow

Når det gjelder de som er interessert i å kunne kompilere den nye versjonen, kan de få den fra følgende lenke.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.