MISRA C:2023 Rule 22.4
There shall be no attempt to write to a stream which has been opened as read-only
Since R2024a
Description
Rule Definition
There shall be no attempt to write to a stream which has been opened as read-only1 .
Rationale
The Standard does not specify the behavior if an attempt is made to write to a read-only stream.
Polyspace Implementation
Polyspace® reports a violation of this rule if you open a stream as read-only and then attempt to write in the stream. The functions that are recognised as writing functions include:
fprintf()
,fprintf_s()
,fwprintf()
,fwprintf_s()
,vfprintf()
,vfprintf_s()
,vfwprintf()
,vfwprintf_s()
fwrite()
fputc()
,fputwc()
fputs()
,fputws()
ungetc()
,ungetwc()
A violation is reported once for a file. Subsequent write operations on the read-only file stream are not reported.
Troubleshooting
If you expect a rule violation but do not see it, refer to Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Examples
Check Information
Group: Resources |
Category: Mandatory |
AGC Category: Mandatory |
Version History
Introduced in R2024a1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.