diff options
Diffstat (limited to 'devel')
-rw-r--r-- | devel/fuzz/gnutls_pkcs12_key_parser_fuzzer.cc | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/devel/fuzz/gnutls_pkcs12_key_parser_fuzzer.cc b/devel/fuzz/gnutls_pkcs12_key_parser_fuzzer.cc index 1c3c15cce9..84f1ddb153 100644 --- a/devel/fuzz/gnutls_pkcs12_key_parser_fuzzer.cc +++ b/devel/fuzz/gnutls_pkcs12_key_parser_fuzzer.cc @@ -53,10 +53,16 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { gnutls_x509_privkey_deinit(key); if (crl) gnutls_x509_crl_deinit(crl); - for (i=0;i<extras_len;i++) - gnutls_x509_crt_deinit(extras[i]); - for (i=0;i<chain_len;i++) - gnutls_x509_crt_deinit(chain[i]); + if (extras_len > 0) { + for (i=0;i<extras_len;i++) + gnutls_x509_crt_deinit(extras[i]); + gnutls_free(extras); + } + if (chain_len > 0) { + for (i=0;i<chain_len;i++) + gnutls_x509_crt_deinit(chain[i]); + gnutls_free(chain); + } } cleanup: |