C and C++ Binaries


BADFUNC.TIME_H : <time.h>時間/日付関数の使用

要旨

<time.h> で定義されている、以下の関数を使用しています。
asctime(), asctime_r(), clock(), clock_getres(), clock_gettime(), clock_settime(), ctime(), ctime_r(), difftime(), getdate(), gmtime(), gmtime_r(), localtime(), localtime_r(), mktime(), nanosleep(), strftime(), strptime(), time(), timer_create(), timer_delete(), timer_gettime(), timer_getoverrun(), timer_settime(), tzset()

これらの関数は未規定、未定義、および処理系定義の動作と関連しています。

プロパティ

クラス名 Use of <time.h> Time/Date Function
日本語クラス名 <time.h>時間/日付関数の使用
クラス分類 スタイル (style)
ニーモニック BADFUNC.TIME_H
カテゴリー
MisraC2023 MisraC2023:21.10 The Standard Library time and date functions shall not be used
Misra2012 Misra2012:21.10 The Standard Library time and date functions shall not be used
Misra2004 Misra2004:20.12 The time handling functions of library <time.h> shall not be used
AUTOSARC++14 AUTOSARC++14:M18-0-4 The time handling functions of library <ctime> shall not be used.
MisraC++2008 MisraC++2008:18-0-4 The time handling functions of library <ctime> shall not be used.
CWE CWE:676 Use of Potentially Dangerous Function
  CWE:758 Reliance on Undefined, Unspecified, or Implementation-Defined Behavior
CERT-C CERT-C:MSC33-C Do not pass invalid data to the asctime() function
JSF++ JSF++:25 The time handling functions of library <time.h> shall not be used.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Use of <time.h> Time/Date Function"

#include <time.h>
        
void long_running_func(void);

clock_t instrument_my_code(void){
  clock_t t;
  t = clock();        /* 'Use of <time.h> Time/Date Function' warning issued here */
  long_running_func();
  return clock() - t; /* 'Use of <time.h> Time/Date Function' warning issued here */
}

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

このクラスは一般テンプレート設定ファイルで BAD_FUNCTION_* ルールセットによって実装されています。

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