Lanzamento da utilidade GNU cflow 1.7

Despois de tres anos de desenvolvemento, lanzouse a utilidade GNU cflow 1.7, deseñada para construír un gráfico visual de chamadas de función en programas C, que se pode usar para simplificar o estudo da lóxica da aplicación. A gráfica constrúese só a partir da análise dos textos fonte, sen necesidade de executar o programa. Admítese a xeración de gráficos de fluxo de execución directa e inversa, así como a xeración de listas de referencias cruzadas para ficheiros de código.

A versión destaca pola implementación do soporte para o formato de saída "punto" ('—format=dot') para xerar o resultado na linguaxe DOT para a súa visualización posterior no paquete Graphviz. Engadiuse a posibilidade de especificar varias funcións de inicio duplicando as opcións "principais"; xerarase un gráfico separado para cada unha destas funcións. Tamén se engade a opción “--target=FUNCTION”, que permite limitar o gráfico resultante só á rama que inclúe determinadas funcións (a opción “--target” pódese especificar varias veces). Engadíronse novos comandos para a navegación gráfica ao modo cflow: "c" - vai á función de chamada, "n" - vai á seguinte función nun nivel de aniñamento determinado e "p" - vai á función anterior co mesmo nivel de nidificación.

A nova versión tamén elimina dúas vulnerabilidades que se identificaron en 2019 e provocan corrupción da memoria ao procesar textos fonte con formato especial en cflow. A primeira vulnerabilidade (CVE-2019-16165) é causada por un acceso á memoria libre de uso despois do código do analizador (función de referencia en parser.c). A segunda vulnerabilidade (CVE-2019-16166) está relacionada cun desbordamento do búfer na función nexttoken(). Segundo os desenvolvedores, estes problemas non representan unha ameaza á seguridade, xa que se limitan á terminación anormal da utilidade.

Fonte: opennet.ru

Engadir un comentario