MISRA C++:2023 Rule 21.10.2
Description
Rule Definition
The standard header file <csetjmp>
shall not be
used.
Rationale
The header <csetjmp>
provides the setjmp()
and longjmp()
functions, which can bypass the normal function return. Use
of either function can result in undefined or unspecified behavior. For example, destructors
for objects with automatic storage duration created after setjmp()
and
before longjmp()
are not called when longjmp()
jumps
back to the state saved by setjmp()
. This results in a resource
leak.
Polyspace Implementation
Polyspace® reports a violation on any use of the setjmp()
and
longjmp()
functions.
Troubleshooting
If you expect a rule violation but Polyspace does not report it, see Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Examples
Check Information
Group: Language support library |
Category: Required |
Version History
Introduced in R2024b