C and C++


LANG.STRUCT.MULRS : Multiple Return Statements

Summary

A function contains two or more return statements.

Properties

Class Name Multiple Return Statements
Significance style
Mnemonic LANG.STRUCT.MULRS
Categories
MisraC2023 MisraC2023:15.5 A function should have a single point of exit at the end
Misra2012 Misra2012:15.5 A function should have a single point of exit at the end
Misra2004 Misra2004:14.7 A function shall have a single point of exit at the end of the function
MisraC++2008 MisraC++2008:6-6-5 A function shall have a single point of exit at the end of the function.
JSF++ JSF++:113 Functions will have a single exit point.
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default, and require the unnormalized C ASTs for the project. To enable them, add the following WARNING_FILTER rule and RETAIN_UNNORMALIZED_C_AST specification to the project configuration file.
RETAIN_UNNORMALIZED_C_AST = Yes
WARNING_FILTER += allow class="Multiple Return Statements"
Note that retaining the unnormalized ASTs will increase the disk space used to store the project representation, and may make the analysis take longer.

Example

int lang_struct_mulrs(int i){ /* 'Multiple Return Statements' warning issued here. */
    if (i > 5) {return 1;}
    return 0;
}

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.