Ошибка сегментации в 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};
Другие вопросы по тегам