MISRA C:2023 Rule 21.13
Any value passed to a function in <ctype.h> shall be
representable as an unsigned char or be the value EOF
Since R2024a
Description
Rule Definition
Any value passed to a function in <ctype.h>
shall be representable as an unsigned char or be the value
EOF.1
This rule comes from MISRA C™: 2012 Amendment 1.
Rationale
Functions in <ctype.h> have a well-defined behavior only
for int arguments whose value is within the range of
unsigned char or the negative value equivalent of
EOF. The use of other values results in undefined
behavior.
Polyspace Implementation
Polyspace® considers that the negative value equivalent of EOF is -1 and does not
raise a violation if you pass -1 as argument to a function in
ctype.h.
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: Standard libraries |
| Category: Mandatory |
| AGC Category: Mandatory |
Version History
Introduced in R2024a
See Also
1 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.