GNU cflow 1.7 օգտակար ծրագրի թողարկում

Երեք տարվա մշակումից հետո թողարկվել է GNU cflow 1.7 օգտակար ծրագիրը, որը նախատեսված է C ծրագրերում ֆունկցիաների կանչերի տեսողական գրաֆիկ ստեղծելու համար, որը կարող է օգտագործվել հավելվածի տրամաբանության ուսումնասիրությունը պարզեցնելու համար։ Գրաֆիկը կառուցված է միայն սկզբնաղբյուր տեքստերի վերլուծության հիման վրա՝ առանց ծրագրի իրականացման անհրաժեշտության: Աջակցվում է ինչպես առաջ, այնպես էլ հետադարձ կատարման հոսքի գրաֆիկների ստեղծումը, ինչպես նաև կոդային ֆայլերի խաչաձև հղումների ցուցակների ստեղծումը:

Թողարկումն աչքի է ընկնում «կետ» ելքային ձևաչափի ('—format=dot') աջակցությամբ՝ DOT լեզվով արդյունք ստեղծելու համար Graphviz փաթեթում հետագա վիզուալիզացիայի համար: Ավելացվեց մի քանի մեկնարկային գործառույթներ նշելու հնարավորություն՝ կրկնօրինակելով «–հիմնական» տարբերակները. այս ֆունկցիաներից յուրաքանչյուրի համար կստեղծվի առանձին գրաֆիկ։ Ավելացվեց նաև «--target=FUNCTION» տարբերակը, որը թույլ է տալիս սահմանափակել ստացված գրաֆիկը միայն այն ճյուղով, որը ներառում է որոշակի գործառույթներ («--target» տարբերակը կարելի է մի քանի անգամ նշել): cflow-mode-ում ավելացվել են գրաֆիկների նավիգացիայի նոր հրամաններ. «c» - անցեք կանչող ֆունկցիային, «n» - անցեք հաջորդ գործառույթին տվյալ բնադրման մակարդակով և «p» - անցեք նախորդ գործառույթին նույնով: բնադրման մակարդակը.

Նոր տարբերակը վերացնում է նաև երկու խոցելիություն, որոնք հայտնաբերվել են դեռևս 2019 թվականին և հանգեցնում են հիշողության խաթարման՝ cflow-ում հատուկ ձևաչափված սկզբնաղբյուր տեքստերը մշակելիս: Առաջին խոցելիությունը (CVE-2019-16165) առաջանում է վերլուծիչի կոդում հիշողության օգտագործումից հետո ազատ մուտքի պատճառով (հղման ֆունկցիա parser.c-ում): Երկրորդ խոցելիությունը (CVE-2019-16166) կապված է nexttoken() ֆունկցիայի բուֆերային հոսքի հետ: Ըստ մշակողների, այս խնդիրները անվտանգության վտանգ չեն ներկայացնում, քանի որ դրանք սահմանափակվում են կոմունալ ծառայության աննորմալ դադարեցմամբ:

Source: opennet.ru

Добавить комментарий