GNU cflow 1.7 כבר שוחרר ומגיע עם פקודות חדשות ועוד

אחרי שלוש שנים של פיתוח הוכרזה שחרור הגרסה החדשה של כלי השירות GNU cflow 1.7. למי שלא מודע לכלי השירות הזה, הוא צריך לדעת שכן נועד לבנות גרף חזותי של קריאות לפונקציות בתוכניות C, אשר ניתן להשתמש בו כדי לפשט את לימוד הלוגיקה של היישום.

הגרףאו שהוא בנוי אך ורק מניתוח טקסטי המקור, ללא צורך בהפעלת התוכנית, בנוסף לתמיכה ביצירת גרפים של זרימה ישירה והפוכה, וכן ביצירת רשימות הפניות מוצלבות לקבצים עם קוד.

החבילה פונקציונלית מלאה וקומפילציה ופועלת על כל הפצה של GNU / Linux וגם על מערכות חדשות יותר דמויות UNIX. הוא תומך בכל מתגי שורת הפקודה הנדרשים ב-POSIX. הוא מסוגל להפיק תוצאות בשני פורמטים: בפורמט GNU cflow (שהוא ברירת המחדל) ובפורמט POSIX.

נכון לעכשיו, כלי השירות יכול לעבד גופני C בלבד, מכיוון שזו החריגה היחידה ממפרטי POSIX, המצריכים יכולת לעבד גופנים YACC ו-LEX, כמו גם קבצי אובייקט בינאריים.

מודול Emacs cflow-mode.el עובד עם קבצים בפורמט GNU cflow (בניגוד לפורמט POSIX) ונבדק עם Emacs 24.2.1.

תכונות חדשות עיקריות של GNU cflow 1.7

בגרסה החדשה הזו של המהדורה בולט בהטמעת תמיכה בפורמט הפלט "נקודה". ('–format=dot') ליצירת תוצאת DOT לעיבוד נוסף בחבילת Graphviz.

בנוסף, מודגש גם זה הוסיפה את היכולת לציין פונקציות הפעלה מרובות על ידי שכפול האפשרויות '–main', אשר יופק עם גרף נפרד עבור כל אחת מהפונקציות הללו.

כמו כן יצוין כי נוספה האפשרות "–target=FUNCTION" כדי להגביל את הגרף המתקבל לענף אחד בלבד הכולל פונקציות מסוימות (ניתן לציין את אפשרות ה-"–target" מספר פעמים).

שינוי נוסף ששולב בגרסה החדשה הזו של GNU cflow 1.7 הוא זה נוספו פקודות חדשות לניווט בתרשים cflow-mode:"c" המשמש למעבר לפונקציה הקוראת, "n" המשמש למעבר לפונקציה הבאה ברמת קינון זו ו-"p" כדי לעבור לפונקציה הקודמת עם אותה רמת קינון .

מצד שני, מוזכר גם בהכרזה על גרסה חדשה זו של GNU cflow 1.7 שהיא גם שתי נקודות תורפה הוסרו שזוהו בשנת 2019 וגרמו לפגיעה בזיכרון בעת ​​עיבוד טקסטים מקוריים בעלי מבנה מיוחד ב-cflow.

מבין הפגיעויות שתוקנו, מוזכרות הבאות:

  • הפגיעות הראשונה (CVE-2019-16165) מתרחשת בעת גישה לזיכרון לאחר שחרורו (use-after-free) בקוד המנתח (פונקציית הפניה ב-parser.c).
  • הפגיעות השנייה (CVE-2019-16166) קשורה להצפת מאגר בפונקציה nexttoken() . לדעת המפתחים, בעיות אלו אינן מהוות איום אבטחה, שכן הן מוגבלות לסיום חריג של השירות.

בסופו של דבר אם אתה מעוניין לדעת יותר על כך לגבי גרסה חדשה זו, תוכל לבדוק את הפרטים ב הקישור הבא.

כיצד להתקין cflow בלינוקס?

למי שמעוניין להיות מסוגל להתקין את כלי השירות הזה במערכת שלהם, הם צריכים לדעת ש-cflow נמצא במאגרים של כמה מההפצות העיקריות של לינוקס. אני רק חייב לציין שהגרסה החדשה עדיין לא הוטמעה בחלק מהן, אבל זה עניין של ימים עד שהיא תהיה מוכנה.

במקרה של מי שמשתמשים בדביאן, אובונטו או כל נגזרת מהם, הם יכולים להתקין מהמסוף על ידי הקלדת הפקודה הבאה:

sudo apt install cflow -y

במקרה של משתמשים של Arch Linux, Manjaro או כל הפצה אחרת הנגזרת מהם, ההתקנה חייבת להיעשות ממאגרי AUR:

yay -s cflow

באשר למי שמעוניין להיות מסוגל להרכיב את הגרסה החדשה, ניתן לקבל זאת ב- הקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.