MISRA C:2012 Rule 17.8
A function parameter should not be modified
Description
Rule Definition
A function parameter should not be modified1 .
Rationale
When you modify a parameter, the function argument corresponding to the parameter is not modified. However, you or another programmer unfamiliar with C can expect by mistake that the argument is also modified when you modify the parameter.
Polyspace Implementation
Polyspace® reports a violation of this rule when you modify the function parameters in the body of the function. Polyspace does not report a violation of this rule when a function parameter is passed by address as const
to another function.
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: Functions |
Category: Advisory |
AGC Category: Readability |
Version History
Introduced in R2015b1 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.