Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Alternately inputting and outputting from a stream without an intervening flush or positioning call is undefined behavior.

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

FIO50-CPP

Low

Likely

Medium

P6

L2

Automated Detection

Tool

Version

Checker

Description

 

 

 

Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC++-FIO50
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V

IO.IOWOP

IO.OIWOP

Input After Output Without Positioning

Output After Input Without Positioning

Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

DF4711, DF4712, DF4713


Parasoft C/C++test

Include Page
Parasoft_V
Parasoft_V

CERT_CPP-FIO50-a

Do not alternately input and output from a stream without an intervening flush or positioning call
Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

CERT C++: FIO50-CPPChecks for alternating input and output from a stream without flush or positioning call (rule fully covered)
 

Related Vulnerabilities

Search for vulnerabilities resulting from the violation of this rule on the CERT website.

...

This rule supplements FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call.

...

...



Bibliography

[ISO/IEC 9899:1999]Subclause 7.19.5.3, "The fopen Function"
[ISO/IEC 14882-2014]Clause 27, "Input/Output Library"

...


...