This diagnostic rule is based on the software development guidelines developed by MISRA (Motor Industry Software Reliability Association).
This rule applies only to C. Using a pointer to the standard type 'FILE' after the associated stream has been already closed may lead to errors because that object will be having an undefined state.
Example of non-compliant code:
FILE* f = fopen("/path/to/file.log", "w"); if (f == NULL) { .... } fprintf(f, "...."); if (....) // something went wrong { fclose(f); fprintf(f, "...."); // Print log information // after stream has been released. }
This diagnostic is classified as:
|