прототипом функции ctime
является
char *ctime(const time_t *timep);
Как мы видим, он возвращает строку. но где утаить жало?
и почему мы не должны освобождать память строки
Этот пример кода выдаст много сообщений об ошибках
char *p;
p = ctime(...);
...
free(p);
***glibc обнаружен ***./a.out :свободен ():недопустимый указатель :0x00007f0b365b4e60***