C and C++


IO.BRAW : File Open for Both Read and Write

要旨

One of the following.

プロパティ

クラス名 File Open for Both Read and Write
日本語クラス名 File Open for Both Read and Write
クラス分類 信頼性 (reliability)
ニーモニック IO.BRAW
カテゴリー
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
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで有効になっています。チェックを無効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += discard class="File Open for Both Read and Write"

#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 ); }
}

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。