Uitgave van het hulpprogramma GNU cflow 1.7

Na drie jaar ontwikkeling is het hulpprogramma GNU cflow 1.7 uitgebracht, ontworpen om een ​​visuele grafiek van functieaanroepen in C-programma's te bouwen, die kan worden gebruikt om de studie van de applicatielogica te vereenvoudigen. De grafiek wordt uitsluitend opgebouwd op basis van de analyse van bronteksten, zonder dat het programma hoeft te worden uitgevoerd. Het genereren van zowel voorwaartse als achterwaartse uitvoeringsstroomgrafieken wordt ondersteund, evenals het genereren van lijsten met kruisverwijzingen voor codebestanden.

De release is opmerkelijk vanwege de implementatie van ondersteuning voor het “dot”-uitvoerformaat ('—format=dot') voor het genereren van het resultaat in de DOT-taal voor daaropvolgende visualisatie in het Graphviz-pakket. De mogelijkheid toegevoegd om meerdere startfuncties te specificeren door de '—main'-opties te dupliceren; voor elk van deze functies wordt een aparte grafiek gegenereerd. Ook is de optie “--target=FUNCTION” toegevoegd, waarmee u de resulterende grafiek kunt beperken tot alleen de vertakking die bepaalde functies bevat (de optie “--target” kan meerdere keren worden opgegeven). Er zijn nieuwe opdrachten voor grafieknavigatie toegevoegd aan de cflow-modus: "c" - ga naar de aanroepende functie, "n" - ga naar de volgende functie op een bepaald nestingniveau en "p" - ga naar de vorige functie met hetzelfde nestniveau.

De nieuwe versie elimineert ook twee kwetsbaarheden die al in 2019 werden geïdentificeerd en tot geheugenbeschadiging leidden bij het verwerken van speciaal opgemaakte bronteksten in cflow. De eerste kwetsbaarheid (CVE-2019-16165) wordt veroorzaakt door een 'use-after-free' geheugentoegang in de parsercode (referentiefunctie in parser.c). De tweede kwetsbaarheid (CVE-2019-16166) houdt verband met een bufferoverloop in de functie nexttoken(). Volgens de ontwikkelaars vormen deze problemen geen bedreiging voor de veiligheid, omdat ze beperkt zijn tot de abnormale beëindiging van het hulpprogramma.

Bron: opennet.ru

Voeg een reactie