hostap/tests/test-x509.c
Jouni Malinen f3e671591e tests: libFuzzer integration for test-json and test-x509
Allow these test tools to be used with libFuzzer in addition to
afl-fuzz.

Signed-off-by: Jouni Malinen <j@w1.fi>
2019-02-25 19:48:49 +02:00

47 lines
923 B
C

/*
* Testing tool for X.509v3 routines
* Copyright (c) 2006-2019, Jouni Malinen <j@w1.fi>
*
* This software may be distributed under the terms of the BSD license.
* See README for more details.
*/
#include "includes.h"
#include "common.h"
#include "tls/x509v3.h"
#ifdef TEST_LIBFUZZER
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
struct x509_certificate *cert;
cert = x509_certificate_parse(data, size);
x509_certificate_free(cert);
return 0;
}
#else /* TEST_LIBFUZZER */
int main(int argc, char *argv[])
{
FILE *f;
u8 buf[3000];
size_t len;
struct x509_certificate *cert;
wpa_debug_level = 0;
f = fopen(argv[1], "rb");
if (f == NULL)
return -1;
len = fread(buf, 1, sizeof(buf), f);
fclose(f);
cert = x509_certificate_parse(buf, len);
if (cert == NULL)
printf("Failed to parse X.509 certificate\n");
x509_certificate_free(cert);
return 0;
}
#endif /* TEST_LIBFUZZER */