| MisraC2025 |
MisraC2025:10.3 |
The value of an expression shall not be assigned to an object with a narrower essential type or of a different essential type category |
| |
MisraC2025:12.4 |
Evaluation of constant expressions should not lead to unsigned integer wrap-around |
| MisraC2023 |
MisraC2023:10.3 |
The value of an expression shall not be assigned to an object with a narrower essential type or of a different essential type category |
| |
MisraC2023:12.4 |
Evaluation of constant expressions should not lead to unsigned integer wrap-around |
| Misra2012 |
Misra2012:10.3 |
The value of an expression shall not be assigned to an object with a narrower essential type or of a different essential type category |
| |
Misra2012:12.4 |
Evaluation of constant expressions should not lead to unsigned integer wrap-around |
| Misra2004 |
Misra2004:12.11 |
Evaluation of constant unsigned integer expressions should not lead to wraparound |
| AUTOSARC++14 |
AUTOSARC++14:A4-7-1 |
An integer expression shall not lead to data loss. |
| |
AUTOSARC++14:M5-0-4 |
An implicit integral conversion shall not change the signedness of the underlying type. |
| |
AUTOSARC++14:M5-0-6 |
An implicit integral or floating-point conversion shall not reduce the size of the underlying type. |
| |
AUTOSARC++14:A7-2-1 |
An expression with enum underlying type shall only have values corresponding to the enumerators of the enumeration. |
| MisraC++2008 |
MisraC++2008:5-0-4 |
An implicit integral conversion shall not change the signedness of the underlying type. |
| |
MisraC++2008:5-0-6 |
An implicit integral or floating-point conversion shall not reduce the size of the underlying type. |
| |
MisraC++2008:7-2-1 |
An expression with enum underlying type shall only have values corresponding to the enumerators of the enumeration. |
| MisraC++2023 |
MisraC++2023:0.3.2 |
A function call shall not violate the function's preconditions |
| |
MisraC++2023:7.0.5 |
Integral promotion and the usual arithmetic conversions shall not change the signedness or the type category of an operand |
| |
MisraC++2023:8.20.1 |
An unsigned arithmetic operation with constant operands should not wrap |
| CWE |
CWE:20 |
Improper Input Validation |
| |
CWE:192 |
Integer Coercion Error |
| |
CWE:704 |
Incorrect Type Conversion or Cast |
| TS17961 |
TS17961:5.6-argcomp |
Calling functions with incorrect arguments |
| |
TS17961:5.16-signconv |
Conversion of signed characters to wider integer types before a check for EOF |
| CERT-C |
CERT-C:API07-C |
Enforce type safety |
| |
CERT-C:FIO34-C |
Distinguish between characters read from a file and EOF or WEOF |
| |
CERT-C:INT02-C |
Understand integer conversion rules |
| |
CERT-C:INT18-C |
Evaluate integer expressions in a larger size before comparing or assigning to that size |
| |
CERT-C:INT31-C |
Ensure that integer conversions do not result in lost or misinterpreted data |
| CERT-CPP |
CERT-CPP:INT50-CPP |
Do not cast to an out-of-range enumeration value |
| JSF++ |
JSF++:180 |
Implicit conversions that may result in a loss of information shall not be used. |
| |
JSF++:183 |
Every possible measure should be taken to avoid type casting. |
| |
JSF++:203 |
Evaluation of expressions shall not lead to overflow/underflow (unless required algorithmically and then should be heavily documented). |
| |
JSF++:212 |
Underflow or overflow functioning shall not be depended on in any special way. |
| DISA-6r1 |
DISA-6r1:V-222612 |
The application must not be vulnerable to overflow attacks. |
| DISA-5r3 |
DISA-5r3:V-70277 |
The application must not be vulnerable to overflow attacks. |
| DISA-4r3 |
DISA-4r3:V-70277 |
The application must not be vulnerable to overflow attacks. |
| DISA-3r10 |
DISA-3r10:V-16808 |
The designer will ensure the application is not vulnerable to integer arithmetic issues. |