codee-com / codee-com/open-catalog
[Fortran] Check for ACTION specifier in OPEN statements
- 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