C and C++


IO.BRAW : File Open for Both Read and Write

Summary

One of the following.

Properties

Class Name File Open for Both Read and Write
Significance reliability
Mnemonic IO.BRAW
Categories
MisraC2023 MisraC2023:22.3 The same file shall not be open for read and write access at the same time on different streams
Misra2012 Misra2012:22.3 The same file shall not be open for read and write access at the same time on different streams
CERT-C CERT-C:FIO24-C Do not open a file that is already open
Availability Available for C and C++.
Enabling Checks for this warning class are enabled by default. To disable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += discard class="File Open for Both Read and Write"

Example

#include <stdio.h>

void io_braw( void ){
    FILE * fw = fopen( "tmp", "r+" );                          /* "r+" opens for read/write */
    FILE * fr = fopen( "tmp", "r" );  /* 'File Open for Both Read and Write' warning issued here
                                       * ('File System Race Condition' warning also issued)
                                       */
    /* do something with fw and fr ... */
    if( fw ) { fclose( fw ); }
    if( fr ) { fclose( fr ); }
}

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.