GNU cflow 1.7 вече е пуснат и идва с нови команди и още

След три години на развитие беше обявено пускането на новата версия на помощната програма GNU cflow 1.7. За тези, които не са запознати с тази помощна програма, те трябва да знаят, че е така предназначени за изграждане на визуална графика на извиквания на функции в C програми, който може да се използва за опростяване на изучаването на логиката на приложението.

диаграматаили е изградена единствено от анализа на изходните текстове, без да е необходимо да стартирате програмата, освен това поддържа генерирането на графики на потока напред и назад, както и генерирането на списъци с кръстосани препратки за файлове с код.

Пакетът е напълно функционален и се компилира и работи на всяка дистрибуция на GNU/Linux, както и на по-нови UNIX-подобни системи. Той поддържа всички команди за превключване на линии, изисквани от POSIX. Той е в състояние да произвежда изход в два формата: формат GNU cflow (който е по подразбиране) и формат POSIX.

Понастоящем помощната програма може да обработва само C шрифтове, тъй като това е единственото отклонение от спецификациите на POSIX, което изисква възможност за обработка на YACC и LEX шрифтове, както и на двоични обектни файлове.

Модулът Emacs cflow-mode.el работи с файлове във формат GNU cflow (за разлика от формата POSIX) и е тестван с Emacs 24.2.1.

Основни нови функции на GNU cflow 1.7

В тази нова версия на изданието забележителен с внедряването на поддръжка за изходния формат "точка". ('–format=dot'), за да генерирате DOT резултат за по-нататъшна обработка в пакета Graphviz.

Освен това също се подчертава, че добавена е възможността за определяне на множество функции за стартиране чрез дублиране на опциите '-main', която ще бъде генерирана с отделна графика за всяка от тези функции.

Отбелязва се също, че опцията е добавена „–target=FUNCTION“, за да ограничите получената графика само до един клон която включва определени функции (опцията „–target“ може да бъде зададена няколко пъти).

Друга промяна, която е интегрирана в тази нова версия на GNU cflow 1.7, е това добавени са нови команди за навигация по графиката cflow-mode: "c", който се използва за преминаване към извикващата функция, "n", който се използва за преминаване към следващата функция в това ниво на влагане и "p" за преминаване към предишната функция със същото ниво на влагане .

От друга страна, също така се споменава в обявяването на тази нова версия на GNU cflow 1.7, че също две уязвимости са премахнати които бяха идентифицирани през 2019 г., причинявайки повреда на паметта при обработка на специално изработени изходни текстове в cflow.

От коригираните уязвимости се споменават следните:

  • Първата уязвимост (CVE-2019-16165) възниква при достъп до паметта след освобождаване (use-after-free) в кода на анализатора (реферирана функция в parser.c).
  • Втората уязвимост (CVE-2019-16166) е свързана с препълване на буфер във функцията nexttoken(). Според разработчиците тези проблеми не представляват заплаха за сигурността, тъй като са ограничени до необичайно прекратяване на помощната програма.

Накрая ако се интересувате да научите повече за това за тази нова версия, можете да проверите подробностите в следната връзка.

Как да инсталирам cflow на Linux?

За тези, които се интересуват от възможността да инсталират тази помощна програма в своята система, те трябва да знаят, че cflow е в хранилищата на някои от основните дистрибуции на Linux. Само трябва да спомена, че новата версия все още не е внедрена в някои от тях, но ще бъде готова до дни.

В случай на тези, които са потребители на Debian, Ubuntu или други производни, те могат да инсталират от терминала, като напишат следната команда:

sudo apt install cflow -y

В случай на потребители на Arch Linux, Manjaro или друга дистрибуция, извлечена от тях, инсталацията трябва да се извърши от хранилищата на AUR:

yay -s cflow

Що се отнася до тези, които се интересуват от възможността да компилират новата версия, те могат да я получат от следваща връзка.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.