Ошибка сегментации в strlen при использовании FTS fts_open()
У меня есть ошибка, которую я нашел сводится к этому:
#include <sys/types.h>
#include <sys/stat.h>
#include <fts.h>
#include <stdlib.h>
int main () {
char *LOG_ROOT = "/var/log";
FTS *ftsp;
FTSENT *p, *chp;
int fts_options = FTS_COMFOLLOW | FTS_LOGICAL | FTS_NOCHDIR;
char *paths[] = { LOG_ROOT };
fts_open(paths, fts_options, NULL);
}
Почему это сегфо?
1 ответ
Решение
Первый аргумент ожидается, что это будет массив символов с указателем на NULL.
char *paths[] = { LOG_ROOT, NULL};