C and C++


LANG.STRUCT.MRS : return文の欠如

要旨

void 戻り型ではない関数にて、return 文のないパスが存在しています。

プロパティ

クラス名 Missing Return Statement
日本語クラス名 return文の欠如
クラス分類 信頼性 (reliability)
ニーモニック LANG.STRUCT.MRS
カテゴリー
MisraC2023 MisraC2023:17.4 All exit paths from a function with non-void return type shall have an explicit return statement with an expression
Misra2012 Misra2012:17.4 All exit paths from a function with non-void return type shall have an explicit return statement with an expression
Misra2004 Misra2004:16.8 All exit paths from a function with non-void return type shall have an explicit return statement with an expression
AUTOSARC++14 AUTOSARC++14:A1-1-1 All code shall conform to ISO/IEC 14882:2014 - Programming Language C++ and shall not use deprecated features.
  AUTOSARC++14:A8-4-2 All exit paths from a function with non-void return type shall have an explicit return statement with an expression.
MisraC++2008 MisraC++2008:8-4-3 All exit paths from a function with non-void return type shall have an explicit return statement with an expression.
MisraC++2023 MisraC++2023:4.1.2 Deprecated features should not be used
  MisraC++2023:9.6.5 A function with non-void return type shall return a value on all paths
CWE CWE:758 Reliance on Undefined, Unspecified, or Implementation-Defined Behavior
  CWE:1076 Insufficient Adherence to Expected Conventions
  CWE:1120 Excessive Code Complexity
CERT-C CERT-C:MSC37-C Ensure that control never reaches the end of a non-void function
CERT-CPP CERT-CPP:MSC52-CPP Value-returning functions must return a value from all exit paths
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで有効になっています。チェックを無効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += discard class="Missing Return Statement"

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

int main(void) {
    int ret = lang_struct_mrs(3);
    return ret;
}

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。