diff options
author | Dmitry Baryshkov <dbaryshkov@gmail.com> | 2020-03-11 09:21:12 +0000 |
---|---|---|
committer | Dmitry Baryshkov <dbaryshkov@gmail.com> | 2020-03-11 09:21:12 +0000 |
commit | 6df0dab742b4ee5bd3fa55680657326305bde8cc (patch) | |
tree | 6b3dcc6ea0e5d3df5bf86a9de19a7863c4162a27 | |
parent | e9bc97de75e7b50b5b96fa71140c732d470fa332 (diff) | |
parent | 12609f4f97fb9a60d663f81571c07f7d297da0b3 (diff) | |
download | gnutls-6df0dab742b4ee5bd3fa55680657326305bde8cc.tar.gz |
Merge branch 'fix-crq-ext' into 'master'
x509: drop endless loop in print_extensions
See merge request gnutls/gnutls!1205
-rw-r--r-- | fuzz/gnutls_x509_crq_parser_fuzzer.repro/609921afff38ec5b52feb7e17aa3035bdce0e0d3 | bin | 0 -> 830 bytes | |||
-rw-r--r-- | lib/x509/output.c | 20 |
2 files changed, 9 insertions, 11 deletions
diff --git a/fuzz/gnutls_x509_crq_parser_fuzzer.repro/609921afff38ec5b52feb7e17aa3035bdce0e0d3 b/fuzz/gnutls_x509_crq_parser_fuzzer.repro/609921afff38ec5b52feb7e17aa3035bdce0e0d3 Binary files differnew file mode 100644 index 0000000000..4fe047d3c3 --- /dev/null +++ b/fuzz/gnutls_x509_crq_parser_fuzzer.repro/609921afff38ec5b52feb7e17aa3035bdce0e0d3 diff --git a/lib/x509/output.c b/lib/x509/output.c index 1e605d8fb6..7278c3c0f8 100644 --- a/lib/x509/output.c +++ b/lib/x509/output.c @@ -1282,12 +1282,12 @@ print_extensions(gnutls_buffer_st * str, const char *prefix, int type, return; } + if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) + break; if (err < 0) { - if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - break; addf(str, "error: get_extension_info: %s\n", gnutls_strerror(err)); - continue; + break; } if (i == 0) @@ -2291,14 +2291,13 @@ print_crl(gnutls_buffer_st * str, gnutls_x509_crl_t crl, int notsigned) oid, &sizeof_oid, &critical); + if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) + break; if (err < 0) { - if (err == - GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - break; addf(str, "error: get_extension_info: %s\n", gnutls_strerror(err)); - continue; + break; } if (i == 0) @@ -2662,14 +2661,13 @@ print_crq(gnutls_buffer_st * str, gnutls_x509_crq_t cert, gnutls_x509_crq_get_attribute_info(cert, i, oid, &sizeof_oid); + if (err == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) + break; if (err < 0) { - if (err == - GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - break; addf(str, "error: get_extension_info: %s\n", gnutls_strerror(err)); - continue; + break; } if (i == 0) |