GNU cflow 1.7 утилитасының шығарылымы

Үш жылдық дамудан кейін C бағдарламаларында функционалдық шақырулардың визуалды графигін құруға арналған GNU cflow 1.7 утилитасы шығарылды, оны қолданбалы логиканы зерттеуді жеңілдету үшін пайдалануға болады. График бағдарламаны орындауды қажет етпей, тек бастапқы мәтіндерді талдау негізінде құрастырылады. Тура және кері орындалу ағынының графиктерін құруға, сондай-ақ код файлдары үшін айқас сілтемелер тізімдерін құруға қолдау көрсетіледі.

Шығарылым Graphviz бумасында кейінгі визуализация үшін DOT тілінде нәтиже шығару үшін «нүкте» шығару пішімін (‘—формат=нүкте’) қолдауды жүзеге асыруымен ерекшеленеді. «—негізгі» опцияларды көшіру арқылы бірнеше бастапқы функцияларды көрсету мүмкіндігі қосылды; осы функциялардың әрқайсысы үшін жеке график жасалады. Сондай-ақ «--target=FUNCTION» опциясы қосылды, ол алынған графикті белгілі бір функцияларды қамтитын тармақпен ғана шектеуге мүмкіндік береді («--target» опциясын бірнеше рет көрсетуге болады). Cflow-режиміне графикті шарлаудың жаңа пәрмендері қосылды: «c» - шақыру функциясына өтіңіз, «n» - берілген кіріс деңгейіндегі келесі функцияға өтіңіз және «p» - бұрынғы функцияға өтіңіз. ұя салу деңгейі.

Жаңа нұсқа сонымен қатар 2019 жылы анықталған және cflow ішінде арнайы пішімделген бастапқы мәтіндерді өңдеу кезінде жадтың бұзылуына әкелетін екі осалдықты жояды. Бірінші осалдық (CVE-2019-16165) талдаушы кодындағы бос жадты пайдалану рұқсатынан туындайды (parser.c ішіндегі сілтеме функциясы). Екінші осалдық (CVE-2019-16166) nexttoken() функциясындағы буфердің толып кетуіне қатысты. Әзірлеушілердің пікірінше, бұл проблемалар қауіпсіздікке қауіп төндірмейді, өйткені олар қызметтік бағдарламаның қалыпты тоқтатылуымен шектеледі.

Ақпарат көзі: opennet.ru

пікір қалдыру