V2526. MISRA. The functions from time.h/ctime should not be used.


This diagnostic rule is based on the software development guidelines developed by MISRA (Motor Industry Software Reliability Association).

The analyzer issues this warning when it detects the following functions:

  • clock;
  • time;
  • difftime;
  • ctime;
  • asctime;
  • gmtime;
  • localtime;
  • mktime.

These functions have unspecified or implementation-dependent behavior, so they may return time and date in different formats (depending on the environment, implementation of the standard library, and so on).

Here is an example of code triggering this warning:

const char* Foo(time_t *p)
{
    time_t t = time(p);
    return ctime(t);
}

The warning is also issued in C programs whenever a macro declaration with one of these names is detected.


Bugs Found

Checked Projects
355
Collected Errors
13 303