Versions Compared

Key

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

Wiki Markup
The C99 {{fopen()}} function is used to open an existing file or create a new one \[[ISO/IEC 9899:1999|AA. C References#ISO/IEC 9899-1999]\]. However, {{fopen()}} does not indicate if an existing file has been opened for writing or a new file has been created. This may lead to a program overwriting or accessing an unintended file.

For examples on how to just check for the existence of a file without opening it, please see FIO10-A. Take care when using the rename() function.

Non-Compliant Code Example: fopen()

...

EXCLUSIVE specifies that the server is to follow exclusive creation semantics, using the verifier to ensure exclusive creation of the target. No attributes may be provided in this case, since the server may use the target file metadata to store the createverf3 verifier.

For examples on how to check for the existence of a file without opening it, please see FIO10-A. Take care when using the rename() function.

Compliant Solution: fopen() (GNU)

...