Прошу помощи с компиляцией clamav
Подключил библиотеки, скомпилировал. После запуска подключает базу, выводит кол-во сигнатур. Дальше крашится.
В дебагере нашел нужную строку:
if ((ret = cl_scandesc(fd, &virname, &size, engine, CL_SCAN_STDOPT)) == CL_VIRUS) { //!!!!!
printf("Virus detected: %s\n", virname);
}
Ошибка:
Библиотека времени выполнения Microsoft Visual Studio C обнаружила неустранимую ошибку в file.exe
Компилятор - msvc++ 2017 Пробовал и x86, и x64 - результат тот же. Как исправить эту ошибку? Спасибо.
Используя clamav api, можно сканировать буфер, дескриптор или файл:
int cl_scanbuff(const char *buffer, unsigned int length,
const char **virname, const struct cl_node *root);
int cl_scandesc(int desc, const char **virname, unsigned
long int *scanned, const struct cl_node *root, const
struct cl_limits *limits, int options);
int cl_scanfile(const char *filename, const char **virname,
unsigned long int *scanned, const struct cl_node *root,
const struct cl_limits *limits, int options);
Заставить работать пример со сканированием дескриптора у меня так и не получилось (автор использовал gcc, я - msvc), поэтому я просто использовал функцию сканирования файла cl_scanfile. Заработало с первого раза.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости