MISRA C:2012 Rule 21.13
Any value passed to a function in <ctype.h>
shall be
representable as an unsigned char
or be the value EOF
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 R2017a
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.