Το GNU cflow 1.7 έχει ήδη κυκλοφορήσει και συνοδεύεται από νέες εντολές και πολλά άλλα

Μετά από τρία χρόνια ανάπτυξης ανακοινώθηκε η κυκλοφορία της νέας έκδοσης του βοηθητικού προγράμματος GNU cflow 1.7. Για όσους δεν γνωρίζουν αυτό το βοηθητικό πρόγραμμα, θα πρέπει να γνωρίζουν ότι είναι έχει σχεδιαστεί για να δημιουργεί ένα οπτικό γράφημα των κλήσεων συναρτήσεων σε προγράμματα C, το οποίο μπορεί να χρησιμοποιηθεί για την απλοποίηση της μελέτης της λογικής εφαρμογής.

το διάγραμμαή κατασκευάζεται αποκλειστικά από την ανάλυση των κειμένων πηγής, χωρίς την ανάγκη εκτέλεσης του προγράμματος, καθώς υποστηρίζει τη δημιουργία γραφημάτων ροής προς τα εμπρός και αντίστροφα, καθώς και τη δημιουργία λιστών διασταυρούμενης αναφοράς για αρχεία με κώδικα.

Το πακέτο είναι πλήρως λειτουργικό και μεταγλωττίζεται και εκτελείται σε οποιαδήποτε διανομή GNU/Linux και επίσης σε νεότερα συστήματα παρόμοια με το UNIX. Υποστηρίζει όλες τις εντολές διακόπτη γραμμής που απαιτούνται από το POSIX. Είναι σε θέση να παράγει αποτελέσματα σε δύο μορφές: μορφή cflow GNU (η οποία είναι η προεπιλογή) και μορφή POSIX.

Προς το παρόν, το βοηθητικό πρόγραμμα μπορεί να επεξεργάζεται μόνο γραμματοσειρές C, καθώς αυτή είναι η μόνη απόκλιση από τις προδιαγραφές POSIX, η οποία απαιτεί τη δυνατότητα επεξεργασίας γραμματοσειρών YACC και LEX, καθώς και αρχείων δυαδικών αντικειμένων.

Η λειτουργική μονάδα Emacs cflow-mode.el λειτουργεί με αρχεία σε μορφή cflow GNU (σε αντίθεση με τη μορφή POSIX) και έχει δοκιμαστεί με το Emacs 24.2.1.

Κύρια νέα χαρακτηριστικά του GNU cflow 1.7

Σε αυτή τη νέα έκδοση αξιοσημείωτο για την υλοποίηση υποστήριξης για τη μορφή εξόδου "dot". ('–format=dot') για να δημιουργήσετε ένα αποτέλεσμα DOT για περαιτέρω επεξεργασία στο πακέτο Graphviz.

Επιπλέον, τονίζεται επίσης ότι πρόσθεσε τη δυνατότητα καθορισμού πολλαπλών λειτουργιών εκκίνησης, αντιγράφοντας τις επιλογές «–κύρια», που θα δημιουργηθεί με ξεχωριστό γράφημα για καθεμία από αυτές τις συναρτήσεις.

Σημειώνεται επίσης ότι η επιλογή προστέθηκε "–target=FUNCTION" για να περιορίσετε το γράφημα που προκύπτει σε έναν μόνο κλάδο που περιλαμβάνει ορισμένες λειτουργίες (η επιλογή «–στόχος» μπορεί να καθοριστεί πολλές φορές).

Μια άλλη αλλαγή που έχει ενσωματωθεί σε αυτή τη νέα έκδοση του GNU cflow 1.7 είναι αυτή έχουν προστεθεί νέες εντολές για πλοήγηση σε χάρτη μια λειτουργία cflow:”c” που χρησιμοποιείται για να μεταβείτε στη συνάρτηση κλήσης, “n” που χρησιμοποιείται για μετάβαση στην επόμενη συνάρτηση σε αυτό το επίπεδο ένθεσης και “p” για μετάβαση στην προηγούμενη συνάρτηση με το ίδιο επίπεδο ένθεσης .

Από την άλλη, αναφέρεται επίσης στην ανακοίνωση αυτής της νέας έκδοσης του GNU cflow 1.7 ότι επίσης αφαιρέθηκαν δύο τρωτά σημεία που εντοπίστηκαν το 2019 προκαλώντας καταστροφή της μνήμης κατά την επεξεργασία ειδικά δημιουργημένων κειμένων πηγής στο cflow.

Από τα τρωτά σημεία που επιδιορθώθηκαν αναφέρονται τα ακόλουθα:

  • Η πρώτη ευπάθεια (CVE-2019-16165) εμφανίζεται όταν η πρόσβαση στη μνήμη γίνεται μετά την ελεύθερη (χρήση-μετά-δωρεάν) στον κώδικα ανάλυσης (συνάρτηση αναφοράς στο parser.c).
  • Η δεύτερη ευπάθεια (CVE-2019-16166) σχετίζεται με υπερχείλιση buffer στη συνάρτηση nexttoken(). Κατά τη γνώμη των προγραμματιστών, αυτά τα προβλήματα δεν αποτελούν απειλή για την ασφάλεια, καθώς περιορίζονται σε μη φυσιολογικό τερματισμό του βοηθητικού προγράμματος.

Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό σχετικά με αυτήν τη νέα έκδοση, μπορείτε να δείτε τις λεπτομέρειες στο τον ακόλουθο σύνδεσμο.

Πώς να εγκαταστήσετε το cflow σε Linux;

Για όσους ενδιαφέρονται να μπορούν να εγκαταστήσουν αυτό το βοηθητικό πρόγραμμα στο σύστημά τους, θα πρέπει να γνωρίζουν ότι το cflow βρίσκεται στα αποθετήρια ορισμένων από τις κύριες διανομές Linux. Απλώς οφείλω να αναφέρω ότι η νέα έκδοση δεν έχει ακόμη εφαρμοστεί σε κάποια από αυτά, αλλά θα είναι έτοιμη σε λίγες μέρες.

Στην περίπτωση όσων είναι χρήστες του Debian, του Ubuntu ή οποιουδήποτε παραγώγου αυτών, μπορούν να εγκαταστήσουν από το τερματικό πληκτρολογώντας την ακόλουθη εντολή:

sudo apt install cflow -y

Στην περίπτωση χρηστών του Arch Linux, του Manjaro ή οποιασδήποτε άλλης διανομής που προέρχεται από αυτά, η εγκατάσταση πρέπει να γίνει από τα αποθετήρια AUR:

yay -s cflow

Όσο για όσους ενδιαφέρονται να μπορέσουν να μεταγλωττίσουν τη νέα έκδοση, μπορούν να την προμηθευτούν από το παρακάτω σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.