C and C++


IO.FILEDEREF : FILE* Dereference

Summary

A value of type FILE* is dereferenced.

Properties

Class Name FILE* Dereference
Significance style
Mnemonic IO.FILEDEREF
Categories
MisraC2023 MisraC2023:22.5 A pointer to a FILE object shall not be dereferenced
Misra2012 Misra2012:22.5 A pointer to a FILE object shall not be dereferenced
TS17961 TS17961:5.12-filecpy 5.12. Copying a FILE object
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default, and require the unnormalized C ASTs for the project. To enable them, add the following WARNING_FILTER rule and RETAIN_UNNORMALIZED_C_AST specification to the project configuration file.
RETAIN_UNNORMALIZED_C_AST = Yes
WARNING_FILTER += allow class="FILE* Dereference"
Note that retaining the unnormalized ASTs will increase the disk space used to store the project representation, and may make the analysis take longer.

Example

#include <stdio.h>

typedef FILE * filestar;
typedef struct { FILE * fld; } mystruct;
FILE *fpfn(void);

void deref_filestar(FILE* plainparam,
                    filestar tdparam,
                    mystruct sparam)
{
    *plainparam;      /* 'FILE* Dereference' warning issued here */
    *tdparam;         /* 'FILE* Dereference' warning issued here */
    *(sparam.fld);    /* 'FILE* Dereference' warning issued here */
    *(fpfn());        /* 'FILE* Dereference' warning issued here */
}

Relevant Configuration File Parameters

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