• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <stdint.h>
2 #include "mbedtls/x509_crl.h"
3 
LLVMFuzzerTestOneInput(const uint8_t * Data,size_t Size)4 int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
5 {
6 #ifdef MBEDTLS_X509_CRL_PARSE_C
7     int ret;
8     mbedtls_x509_crl crl;
9     unsigned char buf[4096];
10 
11     mbedtls_x509_crl_init(&crl);
12 #if defined(MBEDTLS_USE_PSA_CRYPTO)
13     psa_status_t status = psa_crypto_init();
14     if (status != PSA_SUCCESS) {
15         goto exit;
16     }
17 #endif /* MBEDTLS_USE_PSA_CRYPTO */
18     ret = mbedtls_x509_crl_parse(&crl, Data, Size);
19     if (ret == 0) {
20         ret = mbedtls_x509_crl_info((char *) buf, sizeof(buf) - 1, " ", &crl);
21     }
22 #if defined(MBEDTLS_USE_PSA_CRYPTO)
23 exit:
24     mbedtls_psa_crypto_free();
25 #endif /* MBEDTLS_USE_PSA_CRYPTO */
26     mbedtls_x509_crl_free(&crl);
27 #else
28     (void) Data;
29     (void) Size;
30 #endif
31 
32     return 0;
33 }
34