C and C++


LANG.FUNCS.MRV : Missing Return Value

Summary

A function with non-void return type contains a return statement with no value:

return;

Properties

Class Name Missing Return Value
Significance reliability
Mnemonic LANG.FUNCS.MRV
Categories
Misra2004 Misra2004:16.8 All exit paths from a function with non-void return type shall have an explicit return statement with an expression
CWE CWE:758 Reliance on Undefined, Unspecified, or Implementation-Defined Behavior
JSF++ JSF++:114 All exit points of value-returning functions shall be through return statements.
Availability Available for C and C++.
Enabling Checks for this warning class are enabled by default. To disable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += discard class="Missing Return Value"

Example

int noretval(int j) {
    if (j == 1) return;  /* 'Missing Return Value' warning issued here */
    else return 1; 
} 

int main(void) {
    int ret = noretval(1);
    /* remainder of function ... */
    return ret;
}

Relevant Configuration File Parameters

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