
...
Rule | Severity | Likelihood | Detectable | Repairable | Priority | Level |
---|---|---|---|---|---|---|
FIO39-C | Low | Likely | Yes | No | P6 | L2 |
Automated Detection
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Astrée |
| Supported, but no explicit checker | |||||||
Axivion Bauhaus Suite |
| CertC-FIO39 | |||||||
CodeSonar |
| IO.IOWOP | Input After Output Without Positioning | ||||||
Compass/ROSE | Can detect simple violations of this rule | ||||||||
Cppcheck |
| IOWithoutPositioning | |||||||
Cppcheck Premium |
| IOWithoutPositioning | |||||||
Helix QAC |
| DF4711, DF4712, DF4713 | |||||||
Klocwork |
| CERT.FIO.NO_FLUSH | |||||||
LDRA tool suite |
| 84 D | Fully implemented | ||||||
Parasoft C/C++test |
| CERT_C-FIO39-a | Do not alternately input and output from a stream without an intervening flush or positioning call | ||||||
PC-lint Plus |
| 2478, 2479 | Fully supported | ||||||
| CERT C: Rule FIO39-C | Checks for alternating input and output from a stream without flush or positioning call (rule fully covered) |
...
CWE-664 = Union( FIO39-C, list) where list =
- Improper use of an object (besides alternating reading/writing a file stream without an intervening flush
This CWE is vague on what constitutes “improper control of a resource”. It could include any violation of an object’s method constraints (whether they are documented or not). Or it could be narrowly interpreted to mean object creation and object destruction (which are covered by other CWEs).
...