A GNU cflow 1.7 már megjelent, és új parancsokkal és még sok mással érkezik

Három év fejlesztés után bejelentették a GNU cflow 1.7 segédprogram új verziójának kiadását. Azok számára, akik nem ismerik ezt a segédprogramot, tudniuk kell, hogy az C-programokban a függvényhívások vizuális grafikonjának elkészítésére tervezték, amivel leegyszerűsíthető az alkalmazáslogika tanulmányozása.

A grafikonvagy kizárólag a forrásszövegek elemzéséből épül fel, a program futtatása nélkül, ezen felül támogatja a közvetlen és fordított áramlási grafikonok generálását, valamint a kóddal rendelkező fájlok kereszthivatkozási listáinak generálását.

A csomag teljesen működőképes, és bármely GNU/Linux disztribúción és újabb UNIX-szerű rendszereken is lefordítható és fut. Támogatja az összes POSIX-hez szükséges parancssori kapcsolót. Két formátumban képes eredményeket produkálni: GNU cflow formátumban (ami az alapértelmezett) és POSIX formátumban.

Jelenleg a segédprogram csak C betűtípusokat tud feldolgozni, mivel ez az egyetlen eltérés a POSIX specifikációitól, amely YACC és LEX betűtípusok, valamint bináris objektumfájlok feldolgozásának képességét igényli.

Az Emacs cflow-mode.el modul GNU cflow formátumú fájlokkal működik (a POSIX formátummal ellentétben), és az Emacs 24.2.1-gyel tesztelték.

A GNU cflow 1.7 fő újdonságai

A kiadás új verziójában kiemelkedik a "dot" kimeneti formátummal való kompatibilitás megvalósításában ('–Formátum = pont'), hogy egy DOT eredményt generáljon a Graphviz csomagban történő további feldolgozáshoz.

Ezen kívül azt is kiemelik lehetőséget adott több indítási funkció megadására a „–main” opciók megkettőzésével, amelyeket külön grafikonnal generálunk minden egyes függvényhez.

Azt is meg kell jegyezni, hogy az opció „–Target = FUNCTION” az eredményül kapott diagram egy ágra való korlátozásához amely bizonyos funkciókat tartalmaz (a „–target” opció többször is megadható).

Egy másik változás, amelyet a GNU cflow 1.7 új verziójába integráltak, az új parancsok lettek hozzáadva a térképen való navigációhoz egy cflow-mode: »c", amely a hívó függvényre való ugrásra szolgál, az "n" a következő függvényre való ugrásra szolgál ezen a beágyazási szinten, és a "p" az előző, azonos szintű beágyazású függvényre.

Másrészt a GNU cflow 1.7 új verziójának bejelentése is említi, hogy ez is két sebezhetőséget eltávolítottak amelyeket 2019-ben azonosítottak, amelyek memóriasérülést okoztak, amikor speciálisan kialakított forrásszövegeket dolgoztak fel a cflow-ban.

A kijavított sebezhetőségek közül a következőket említik:

  • Az első biztonsági rés (CVE-2019-16165) akkor jelentkezik, amikor a memóriához hozzáférnek, miután azt felszabadították (use-after-free) az elemző kódban (a parser.c hivatkozási funkciója).
  • A második biztonsági rés (CVE-2019-16166) a nexttoken () függvény puffertúlcsordulásához kapcsolódik. A fejlesztők véleménye szerint ezek a problémák nem jelentenek biztonsági fenyegetést, mivel a segédprogram rendellenes leállására korlátozódnak.

Végül ha érdekel, hogy többet tudjon meg róla erről az új verzióról itt ellenőrizheti a részleteket a következő link.

Hogyan telepítsem a cflow-t Linuxra?

Azok számára, akik szeretnék telepíteni ezt a segédprogramot a rendszerükre, tudniuk kell, hogy a cflow néhány fő Linux disztribúció tárolójában található. Csak annyit kell megemlítenem, hogy némelyikben még nem implementálták az új verziót, de napok kérdése, hogy elkészüljön.

Azok, akik Debian, Ubuntu vagy ezek bármely származéka felhasználói, a következő parancs begépelésével telepíthetik a terminálról:

sudo apt install cflow -y

Arch Linux, Manjaro vagy bármely más, ezektől a felhasználóktól származó disztribúció esetén a telepítést az AUR tárolókból kell végrehajtani:

yay -s cflow

Akit érdekel, hogy le tudja fordítani az új verziót, ezt a címen szerezheti be következő link.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.