GNU cflow 1.7 on jo julkaistu ja sisältää uusia komentoja ja paljon muuta

Kolmen vuoden kehityksen jälkeen GNU cflow 1.7 -apuohjelman uusi versio julkistettiin. Niiden, jotka eivät ole tietoisia tästä apuohjelmasta, pitäisi tietää, että se on suunniteltu luomaan visuaalinen kaavio funktiokutsuista C-ohjelmissa, jota voidaan käyttää yksinkertaistamaan sovelluslogiikan tutkimusta.

Kaaviotai se on rakennettu yksinomaan lähdetekstien analyysistä, ilman tarvetta ajaa ohjelmaa, minkä lisäksi se tukee suorien ja käänteisten vuokaavioiden luomista sekä ristiviittausluetteloiden luomista koodia sisältäville tiedostoille.

Paketti on täysin toimiva ja kääntää ja toimii missä tahansa GNU/Linux-jakelussa ja myös uudemmissa UNIX-tyyppisissä järjestelmissä. Se tukee kaikkia POSIX:n edellyttämiä komentorivivalitsimia. Se pystyy tuottamaan tuloksia kahdessa muodossa: GNU cflow -muodossa (joka on oletus) ja POSIX-muodossa.

Tällä hetkellä apuohjelma voi käsitellä vain C-fontteja, koska tämä on ainoa poikkeama POSIX-spesifikaatioista, mikä edellyttää kykyä käsitellä YACC- ja LEX-fontteja sekä binääriobjektitiedostoja.

Emacs cflow-mode.el -moduuli toimii GNU cflow -muodossa olevien tiedostojen kanssa (toisin kuin POSIX-muodossa), ja se on testattu Emacs 24.2.1 -versiolla.

GNU cflow 1.7:n tärkeimmät uudet ominaisuudet

Tässä julkaisun uudessa versiossa erottuu yhteensopivuuden toteuttamisesta tulosmuodon "dot" kanssa ('–Format = piste') luodaksesi DOT-tuloksen jatkokäsittelyä varten Graphviz-paketissa.

Lisäksi korostetaan myös sitä lisätty mahdollisuus määrittää useita käynnistystoimintoja kopioimalla '–main'-vaihtoehdot, joka luodaan erillisellä kaaviolla kullekin näistä funktioista.

On myös huomattava, että vaihtoehto "–Target = FUNCTION" rajoittaa tuloksena olevan kaavion vain yhteen haaraan joka sisältää tiettyjä toimintoja ("–target"-vaihtoehto voidaan määrittää useita kertoja).

Toinen muutos, joka on integroitu tähän uuteen GNU cflow 1.7 -versioon, on se uusia komentoja on lisätty karttanavigointiin cflow-mode: »c", jota käytetään menemään kutsuvaan funktioon, "n", jota käytetään siirtymään seuraavaan funktioon tällä sisäkkäisellä tasolla, ja "p" siirtymään edelliseen funktioon samalla tasolla.

Toisaalta tämän uuden GNU cflow 1.7 -version tiedotteessa mainitaan myös, että se kaksi haavoittuvuutta poistettiin jotka tunnistettiin vuonna 2019 aiheuttavan muistin korruptiota käsiteltäessä erityisesti muotoiltuja lähdetekstejä cflow:ssa.

Korjatuista haavoittuvuuksista mainitaan seuraava:

  • Ensimmäinen haavoittuvuus (CVE-2019-16165) ilmenee käytettäessä muistia sen vapauttamisen jälkeen (use-after-free) jäsennyskoodissa (viitetoiminto tiedostossa parser.c).
  • Toinen haavoittuvuus (CVE-2019-16166) liittyy nexttoken () -funktion puskurin ylivuotoon. Kehittäjien mielestä nämä ongelmat eivät aiheuta turvallisuusuhkaa, koska ne rajoittuvat apuohjelman epänormaaliin lopettamiseen.

Vihdoin jos olet kiinnostunut tietämään siitä lisää tästä uudesta versiosta voit tarkistaa yksityiskohdat seuraava linkki.

Kuinka asentaa cflow Linuxiin?

Niiden, jotka ovat kiinnostuneita tämän apuohjelman asentamisesta järjestelmään, heidän tulisi tietää, että cflow on joidenkin tärkeimpien Linux-jakelujen arkistoissa. Täytyy vain mainita, että osassa niistä ei ole vielä otettu käyttöön uutta versiota, mutta on muutaman päivän kysymys ennen kuin se on valmis.

Ne, jotka ovat Debianin, Ubuntun tai näiden johdannaisten käyttäjiä, voivat asentaa päätteestä kirjoittamalla seuraavan komennon:

sudo apt install cflow -y

Jos kyseessä on Arch Linux, Manjaro tai jokin muu näistä käyttäjistä johdettu jakelu, asennus on suoritettava AUR-varastoista:

yay -s cflow

Ne, jotka ovat kiinnostuneita uuden version kääntämisestä, voivat saada tämän osoitteesta seuraava linkki.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.