MISRA C++:2023 Rule 21.2.3
Description
Rule Definition
The library function system
from <cstdlib>
shall not be used 1
Rationale
The system()
function is platform-dependent, which can result in
implementation-defined or undefined behavior. Errors with the system()
function can cause security vulnerabilities.
Instead, use direct API calls if possible, or safer functions such as
posix_spawn()
.
Polyspace Implementation
Polyspace® reports a violation whenever the code takes the address of the
system()
function from <cstdlib>
or
<stdlib.h>
, calls the system()
function, or
expands a macro with the name system
.
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
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.