Veröffentlichung des GNU cflow 1.7

Nach drei Jahren Entwicklung wurde die Version 1.7 des GNU cflow-Tools veröffentlicht, die dazu dient, anschauliche Funktionsaufrufdiagramme in C-Programmen zu erstellen, um das VerstĂ€ndnis der Anwendungslogik zu erleichtern. Das Diagramm wird ausschließlich durch die Analyse des Quellcodes erstellt, ohne dass das Programm ausgefĂŒhrt werden muss. Es wird die Generierung sowohl von direkten als auch von umgekehrten AusfĂŒhrungsflussdiagrammen sowie von Listen mit Querverweisen fĂŒr die Code-Dateien unterstĂŒtzt.

Die Veröffentlichung ist bemerkenswert, da sie die UnterstĂŒtzung des Ausgabeformats „dot“ (‘—format=dot’) implementiert, um das Ergebnis im DOT-Format fĂŒr eine spĂ€tere Visualisierung mit Graphviz zu erstellen. Es wurde die Möglichkeit hinzugefĂŒgt, mehrere Startfunktionen durch Wiederholung der Option ‘—main’ anzugeben; fĂŒr jede dieser Funktionen wird ein separates Diagramm generiert. Außerdem wurde die Option „—target=FUNCTION“ hinzugefĂŒgt, die es ermöglicht, das resultierende Diagramm auf den Teilbaum zu beschrĂ€nken, der bestimmte Funktionen einschließt (die Option „—target“ kann mehrmals angegeben werden). Im cflow-Modus wurden neue Befehle zur Navigation im Diagramm hinzugefĂŒgt: „c“ – Wechsel zur aufrufenden Funktion, „n“ – Wechsel zur nĂ€chsten Funktion auf der aktuellen Verschachtelungsebene und „p“ – Wechsel zur vorherigen Funktion mit derselben Verschachtelungstiefe.

In der neuen Version wurden außerdem zwei SicherheitsanfĂ€lligkeiten behoben, die bereits 2019 entdeckt wurden und zu einer SpeicherbeschĂ€digung beim Verarbeiten von speziell formatierten Quelltexten in cflow fĂŒhren. Die erste SicherheitsanfĂ€lligkeit (CVE-2019-16165) wird durch den Zugriff auf Speicher nach seiner Freigabe (use-after-free) im Parser-Code (Funktion reference in parser.c) verursacht. Die zweite SicherheitsanfĂ€lligkeit (CVE-2019-16166) hĂ€ngt mit einem Buffer Overflow in der Funktion nexttoken() zusammen. Laut den Entwicklern stellen diese Probleme keine Sicherheitsgefahr dar, da sie auf ein unerwartetes Beenden des Tools beschrĂ€nkt sind.

Quelle: opennet.ru

60GB SSD 8Gb DDR4