GNU cflow 1.7 -apuohjelman julkaisu

Kolmen vuoden kehitystyön jälkeen on julkaistu GNU cflow 1.7 -apuohjelma, joka on suunniteltu rakentamaan visuaalinen kaavio funktiokutsuista C-ohjelmissa, jota voidaan käyttää sovelluslogiikan tutkimisen yksinkertaistamiseen. Graafi on rakennettu vain lähdetekstien analyysin perusteella, ilman tarvetta suorittaa ohjelmaa. Sekä myötä- että taaksepäin suoritettavien vuokaavioiden luomista tuetaan, samoin kuin kooditiedostojen ristiviittausluetteloiden luomista.

Julkaisu on huomionarvoinen "piste"-tulostusmuodon ('—format=dot') tuen toteuttamisesta tulosten luomiseksi DOT-kielellä myöhempää visualisointia varten Graphviz-paketissa. Lisätty mahdollisuus määrittää useita aloitusfunktioita kopioimalla '-main'-vaihtoehdot; jokaiselle näistä funktioista luodaan erillinen kaavio. Lisätty on myös "--target=FUNCTION"-vaihtoehto, jonka avulla voit rajoittaa tuloksena olevan kaavion vain haaraan, joka sisältää tietyt funktiot ("--target"-vaihtoehto voidaan määrittää useita kertoja). Cflow-moodiin on lisätty uudet komennot kuvaajanavigointia varten: "c" - siirry kutsuvaan funktioon, "n" - siirry seuraavaan funktioon tietyllä sisäkkäisellä tasolla ja "p" - siirry edelliseen funktioon samalla pesimätaso.

Uusi versio poistaa myös kaksi vuonna 2019 tunnistettua haavoittuvuutta, jotka johtavat muistin vioittumiseen käsiteltäessä erityisesti muotoiltuja lähdetekstejä cflow:ssa. Ensimmäinen haavoittuvuus (CVE-2019-16165) johtuu jäsennyskoodin vapaan käytön jälkeisestä muistin käytöstä (viitetoiminto tiedostossa parser.c). Toinen haavoittuvuus (CVE-2019-16166) liittyy nexttoken()-funktion puskurin ylivuotoon. Kehittäjien mukaan nämä ongelmat eivät aiheuta turvallisuusuhkaa, koska ne rajoittuvat apuohjelman epänormaaliin lopettamiseen.

Lähde: opennet.ru

Lisää kommentti