codee-com / codee-com/open-catalog

[Fortran] Check for ACTION specifier in OPEN statements

Offen
#76 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
Fortran good first issue new check
Vorherrschende Sprache
Fortran
Sterne
106
Forks
12
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

The `OPEN` statement allows the `ACTION` specifier which can be `READ`, `WRITE`, OR `READWRITE`, analogous to `INTENT(IN)`, `INTENT(OUT)`, and `INTENT(INOUT)` respectively. The programmer knows how an opened file is to be used, and using a file connection in a way contrary to the `ACTION` will produce a runtime error. Adding a check that each `OPEN` includes an `ACTION` could therefore help reveal bugs where a file that is intended to be read-only is written to. This would improve code correctness and security.

It would be even better not to rely on the runtime error, and instead check that no `WRITE` statement is applied to a unit opened as `ACTION='READ'` and vice versa.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, die Verarbeitung der Anweisung Fortran OPEN, ACTION und WRITE durch den Analyzer zu lokalisieren. Kläre, ob die erste Änderung ACTION voraussetzen, die Konsistenz von READ/WRITE erzwingen oder beides tun sollte, und definiere anschließend Tests für jeden unterstützten ACTION-Wert und die daraus resultierenden Diagnosen. Fertig ist die Änderung, wenn die ausgewählten Prüfungen durch Tests abgedeckt sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
fortran
Bereich
security
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.