/
niceSOFT
/
libssh
Обзор
Документация
Войти
/
niceSOFT
/
libssh
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/fuzz/fuzzer.c
49 строк
1 KB
Jakub Jelen
tests: Cleanup OpenSSL in tests when GSSAPI is built
25 июл 2025, 14:20
25 июл 2025, 14:20
08a32ac
Код
Авторство
О чём код?
/* Simpler gnu89 version of StandaloneFuzzTargetMain.c from LLVM */ #include "config.h" #include <assert.h> #include <stdio.h> #include <stdlib.h> #if defined(HAVE_LIBCRYPTO) || defined(WITH_GSSAPI) /* for OPENSSL_cleanup() of GSSAPI's OpenSSL context */ #include <openssl/crypto.h> #endif int LLVMFuzzerTestOneInput (const unsigned char *data, size_t size); __attribute__((weak)) int LLVMFuzzerInitialize(int *argc, char ***argv); int main (int argc, char **argv) { FILE *f = NULL; size_t n_read, len; unsigned char *buf = NULL; if (argc < 2) { return 1; } if (LLVMFuzzerInitialize) { LLVMFuzzerInitialize(&argc, &argv); } f = fopen (argv[1], "r"); assert (f); fseek (f, 0, SEEK_END); len = ftell (f); fseek (f, 0, SEEK_SET); buf = (unsigned char*) malloc (len); n_read = fread (buf, 1, len, f); fclose (f); assert (n_read == len); LLVMFuzzerTestOneInput (buf, len); free (buf); printf ("Done!\n"); #if defined(HAVE_LIBCRYPTO) || defined(WITH_GSSAPI) OPENSSL_cleanup(); #endif return 0; }