diff --git a/Makefile.in b/Makefile.in index 3eeeaebe60..5910e7b632 100644 --- a/Makefile.in +++ b/Makefile.in @@ -14,7 +14,7 @@ top_builddir = @top_builddir@ VERSION=@BIND9_VERSION@ -SUBDIRS = make lib bin doc +SUBDIRS = make lib bin fuzz doc TARGETS = PREREQS = bind.keys.h diff --git a/configure.ac b/configure.ac index 8411605a37..cba31405f9 100644 --- a/configure.ac +++ b/configure.ac @@ -5507,6 +5507,7 @@ AC_CONFIG_FILES([ doc/xsl/isc-docbook-html.xsl doc/xsl/isc-manpage.xsl doc/xsl/isc-notes-html.xsl + fuzz/Makefile isc-config.sh lib/Makefile lib/bind9/Makefile diff --git a/fuzz/.gitignore b/fuzz/.gitignore new file mode 100644 index 0000000000..8edb50ea2f --- /dev/null +++ b/fuzz/.gitignore @@ -0,0 +1,4 @@ +/*.dSYM/ +dns_name_fromtext_target +dns_rdata_fromwire_text +/*.out/ diff --git a/fuzz/FUZZING.md b/fuzz/FUZZING.md new file mode 100644 index 0000000000..65363e1ac1 --- /dev/null +++ b/fuzz/FUZZING.md @@ -0,0 +1,37 @@ + + += Fuzzing + +The tests in this directory can be operated in three modes: + +* non-fuzzing - the test just runs over all input located in `.in/` + directory by compiling with mock main.c that walks through the directory and + runs `LLVMFuzzerTestOneInput()` over the input files +* AFL - `./configure --with-fuzzing=afl` will either feed the stdin to + `LLVMFuzzerTestOneInput()` or run the `__AFL_LOOP(10000)` if compiled with + `afl-clang-fast` +* LibFuzzer - `./configure --with-fuzzing=libfuzzer` will disable `main.c` + completely and it uses the standard LibFuzzer mechanims to feed + `LLVMFuzzerTestOneInput` with the fuzzer + +== Test Cases + +Each test case should be called descriptively and the executable target must +link `testcase.o` and `main.o` and the `test_case.c` must have a function +`LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)`. + +== Adding more fuzzers + +To add a different fuzzer, `main.c` must be modified to include `main()` function +for a specific fuzzer (or no function as is case with LibFuzzer). diff --git a/fuzz/Makefile.in b/fuzz/Makefile.in new file mode 100644 index 0000000000..b1e8bab103 --- /dev/null +++ b/fuzz/Makefile.in @@ -0,0 +1,60 @@ +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +srcdir = @srcdir@ +VPATH = @srcdir@ +top_srcdir = @top_srcdir@ +abs_srcdir = @abs_srcdir@ + +@BIND9_MAKE_INCLUDES@ + +CINCLUDES = -I. -I.. ${DNS_INCLUDES} ${ISC_INCLUDES} \ + ${OPENSSL_CFLAGS} +CDEFINES = -DFUZZDIR=\"$(abs_srcdir)\" + +ISCLIBS = ../lib/isc/libisc.@A@ +ISCDEPLIBS = ../lib/isc/libisc.@A@ +DNSLIBS = ../lib/dns/libdns.@A@ ${MAXMINDDB_LIBS} @DNS_CRYPTO_LIBS@ +DNSDEPLIBS = ../lib/dns/libdns.@A@ + +LIBS = @LIBS@ + +OBJS = main.@O@ +SRCS = main.c dns_message_parse.c dns_name_fromtext_target.c dns_rdata_fromwire_text.c + +SUBDIRS = +TARGETS = dns_message_parse@EXEEXT@ \ + dns_name_fromtext_target@EXEEXT@ \ + dns_rdata_fromwire_text@EXEEXT@ + +@BIND9_MAKE_RULES@ + +dns_message_parse@EXEEXT@: dns_message_parse.@O@ main.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ + dns_message_parse.@O@ main.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} + +dns_name_fromtext_target@EXEEXT@: dns_name_fromtext_target.@O@ main.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ + dns_name_fromtext_target.@O@ main.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} + +dns_rdata_fromwire_text@EXEEXT@: dns_rdata_fromwire_text.@O@ main.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ + dns_rdata_fromwire_text.@O@ main.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} + +check: ${TARGETS} + for fuzzer in ${TARGETS}; do \ + ./$${fuzzer} ; \ + done + +oss-fuzz: ${TARGETS} + +clean distclean:: + rm -f ${TARGETS} diff --git a/fuzz/core.826821 b/fuzz/core.826821 new file mode 100644 index 0000000000..3ccd8fce65 Binary files /dev/null and b/fuzz/core.826821 differ diff --git a/fuzz/dns_master_load.in/generate-counter-overflow.db b/fuzz/dns_master_load.in/generate-counter-overflow.db new file mode 100644 index 0000000000..590c0d5c04 Binary files /dev/null and b/fuzz/dns_master_load.in/generate-counter-overflow.db differ diff --git a/fuzz/dns_message_parse.c b/fuzz/dns_message_parse.c new file mode 100644 index 0000000000..77876e54be --- /dev/null +++ b/fuzz/dns_message_parse.c @@ -0,0 +1,190 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "fuzz.h" + +bool debug = false; + +static isc_mem_t *mctx = NULL; +static uint8_t *output = NULL; +static size_t output_len = 1024; +static uint8_t render_buf[64 * 1024 - 1]; + +int +LLVMFuzzerInitialize(int *argc __attribute__((unused)), + char ***argv __attribute__((unused))) { + isc_mem_create(0, 0, &mctx); + output = isc_mem_get(mctx, output_len); + + return (0); +} + +static isc_result_t +parse_message(isc_buffer_t *input, dns_message_t **messagep) { + isc_result_t result; + dns_message_t *message = NULL; + + dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message); + + result = dns_message_parse(message, input, DNS_MESSAGEPARSE_BESTEFFORT); + if (result == DNS_R_RECOVERABLE) { + result = ISC_R_SUCCESS; + } + + if (result == ISC_R_SUCCESS && messagep != NULL) { + *messagep = message; + } else { + dns_message_detach(&message); + } + + return (result); +} + +static isc_result_t +print_message(dns_message_t *message) { + isc_result_t result; + isc_buffer_t buffer; + + do { + isc_buffer_init(&buffer, output, output_len); + result = dns_message_totext(message, &dns_master_style_debug, 0, + &buffer); + if (result == ISC_R_NOSPACE) { + isc_mem_put(mctx, output, output_len); + output_len *= 2; + output = isc_mem_get(mctx, output_len); + continue; + } + } while (result == ISC_R_NOSPACE); + + if (debug) { + fprintf(stderr, "%.*s\n", (int)isc_buffer_usedlength(&buffer), + output); + } + + return (result); +} + +#define CHECKRESULT(r, f) \ + { \ + r = (f); \ + if (r != ISC_R_SUCCESS) { \ + goto cleanup; \ + } \ + } + +static isc_result_t +render_message(dns_message_t **messagep) { + isc_result_t result; + dns_message_t *message = *messagep; + isc_buffer_t buffer; + dns_compress_t cctx; + + isc_buffer_init(&buffer, render_buf, sizeof(render_buf)); + + message->from_to_wire = DNS_MESSAGE_INTENTRENDER; + for (size_t i = 0; i < DNS_SECTION_MAX; i++) { + message->counts[i] = 0; + } + + result = dns_compress_init(&cctx, -1, mctx); + if (result != ISC_R_SUCCESS) { + return (result); + } + CHECKRESULT(result, dns_message_renderbegin(message, &cctx, &buffer)); + + CHECKRESULT(result, dns_message_rendersection(message, + DNS_SECTION_QUESTION, 0)); + + CHECKRESULT(result, + dns_message_rendersection(message, DNS_SECTION_ANSWER, 0)); + CHECKRESULT(result, dns_message_rendersection( + message, DNS_SECTION_AUTHORITY, 0)); + + CHECKRESULT(result, dns_message_rendersection( + message, DNS_SECTION_ADDITIONAL, 0)); + + dns_message_renderend(message); + + dns_compress_invalidate(&cctx); + + message->from_to_wire = DNS_MESSAGE_INTENTPARSE; + + dns_message_detach(messagep); + + result = parse_message(&buffer, messagep); + + return (result); + +cleanup: + dns_compress_invalidate(&cctx); + return (result); +} + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + isc_buffer_t buffer; + isc_result_t result; + dns_message_t *message = NULL; + + if (size > 65535) { + return (0); + } + + isc_buffer_constinit(&buffer, data, size); + isc_buffer_add(&buffer, size); + isc_buffer_setactive(&buffer, size); + + result = parse_message(&buffer, &message); + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + + result = print_message(message); + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + + result = render_message(&message); + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + + result = print_message(message); + if (result != ISC_R_SUCCESS) { + goto cleanup; + } + +cleanup: + if (message != NULL) { + dns_message_detach(&message); + } + + return (0); +} diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0a3807b25967.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0a3807b25967.pkt new file mode 100644 index 0000000000..fa241be90a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0a3807b25967.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0af8cee23ed0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0af8cee23ed0.pkt new file mode 100644 index 0000000000..8b26d523e0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0af8cee23ed0.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0b7820813414.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0b7820813414.pkt new file mode 100644 index 0000000000..23714ac58d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0b7820813414.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0bf0754502aa.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0bf0754502aa.pkt new file mode 100644 index 0000000000..6df746945f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0bf0754502aa.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0c6c1a0dcff1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0c6c1a0dcff1.pkt new file mode 100644 index 0000000000..412026d2d9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0c6c1a0dcff1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0ccf2a7952ea.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0ccf2a7952ea.pkt new file mode 100644 index 0000000000..e6ea06ebe0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0ccf2a7952ea.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0dd75ab2e3f8.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0dd75ab2e3f8.pkt new file mode 100644 index 0000000000..ac32a239b6 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0dd75ab2e3f8.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0de21419c7e7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0de21419c7e7.pkt new file mode 100644 index 0000000000..513080f1e4 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0de21419c7e7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-0eb553c77d2b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-0eb553c77d2b.pkt new file mode 100644 index 0000000000..05296895fe Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-0eb553c77d2b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1295da719914.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1295da719914.pkt new file mode 100644 index 0000000000..7067548c47 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-1295da719914.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-131eff5d4a89.pkt b/fuzz/dns_message_parse.in/bind-systemtest-131eff5d4a89.pkt new file mode 100644 index 0000000000..ce2be9b0af Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-131eff5d4a89.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1359eec5b20f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1359eec5b20f.pkt new file mode 100644 index 0000000000..9b28729ea3 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-1359eec5b20f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1410836d8ef5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1410836d8ef5.pkt new file mode 100644 index 0000000000..76c2f36a5b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-1410836d8ef5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-15df237e7dd9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-15df237e7dd9.pkt new file mode 100644 index 0000000000..9f8f50c00e Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-15df237e7dd9.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-17ecbe4230d4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-17ecbe4230d4.pkt new file mode 100644 index 0000000000..baa9ffcfbb Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-17ecbe4230d4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1818a0a13743.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1818a0a13743.pkt new file mode 100644 index 0000000000..0bb9f909b3 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-1818a0a13743.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-191a3716d274.pkt b/fuzz/dns_message_parse.in/bind-systemtest-191a3716d274.pkt new file mode 100644 index 0000000000..b8a8732c74 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-191a3716d274.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1dcb02bb39d7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1dcb02bb39d7.pkt new file mode 100644 index 0000000000..3016eab29d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-1dcb02bb39d7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-1f25e4467b28.pkt b/fuzz/dns_message_parse.in/bind-systemtest-1f25e4467b28.pkt new file mode 100644 index 0000000000..0468373a29 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-1f25e4467b28.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-20aeb1ee571c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-20aeb1ee571c.pkt new file mode 100644 index 0000000000..6658f4e004 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-20aeb1ee571c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-20cc218f4c3a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-20cc218f4c3a.pkt new file mode 100644 index 0000000000..cea967e045 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-20cc218f4c3a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-240335cece1a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-240335cece1a.pkt new file mode 100644 index 0000000000..4179a68a89 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-240335cece1a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-24b76ef067ec.pkt b/fuzz/dns_message_parse.in/bind-systemtest-24b76ef067ec.pkt new file mode 100644 index 0000000000..1d602fb311 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-24b76ef067ec.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-25305bdb78fe.pkt b/fuzz/dns_message_parse.in/bind-systemtest-25305bdb78fe.pkt new file mode 100644 index 0000000000..a4ed4a4b7f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-25305bdb78fe.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-258334bb1e33.pkt b/fuzz/dns_message_parse.in/bind-systemtest-258334bb1e33.pkt new file mode 100644 index 0000000000..20ed67404a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-258334bb1e33.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-25c433073c4b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-25c433073c4b.pkt new file mode 100644 index 0000000000..51511cee9b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-25c433073c4b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-261086edd389.pkt b/fuzz/dns_message_parse.in/bind-systemtest-261086edd389.pkt new file mode 100644 index 0000000000..b6813eed6e Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-261086edd389.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-27326d79a152.pkt b/fuzz/dns_message_parse.in/bind-systemtest-27326d79a152.pkt new file mode 100644 index 0000000000..a89e600a74 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-27326d79a152.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-275812229fac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-275812229fac.pkt new file mode 100644 index 0000000000..e44e67abf8 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-275812229fac.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-27b65637a4b5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-27b65637a4b5.pkt new file mode 100644 index 0000000000..fbd0266b06 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-27b65637a4b5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2938c8b1445b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2938c8b1445b.pkt new file mode 100644 index 0000000000..10c9fb8f4f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2938c8b1445b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-297325ce1762.pkt b/fuzz/dns_message_parse.in/bind-systemtest-297325ce1762.pkt new file mode 100644 index 0000000000..87d11f77dc Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-297325ce1762.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2b665de93d1a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2b665de93d1a.pkt new file mode 100644 index 0000000000..b53d9016bd Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2b665de93d1a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2c08fd4dcb3d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2c08fd4dcb3d.pkt new file mode 100644 index 0000000000..ed4ac06573 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2c08fd4dcb3d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2c60032e840c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2c60032e840c.pkt new file mode 100644 index 0000000000..8e6483c467 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2c60032e840c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2d1dc7672bf2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2d1dc7672bf2.pkt new file mode 100644 index 0000000000..152221ea45 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2d1dc7672bf2.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2d83e44b2f92.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2d83e44b2f92.pkt new file mode 100644 index 0000000000..d04af0613a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2d83e44b2f92.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2e70e80504cd.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2e70e80504cd.pkt new file mode 100644 index 0000000000..731cbbb52c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2e70e80504cd.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-2fe12f38215a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-2fe12f38215a.pkt new file mode 100644 index 0000000000..3599fe4166 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-2fe12f38215a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3230c27a3abe.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3230c27a3abe.pkt new file mode 100644 index 0000000000..1a881cdcff Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-3230c27a3abe.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-32392b7ae8a7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-32392b7ae8a7.pkt new file mode 100644 index 0000000000..4ea06bb134 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-32392b7ae8a7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-34a3a57c8ae4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-34a3a57c8ae4.pkt new file mode 100644 index 0000000000..99747d8587 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-34a3a57c8ae4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3655812d837d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3655812d837d.pkt new file mode 100644 index 0000000000..ad14dcfedb Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-3655812d837d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3a137dd7b503.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3a137dd7b503.pkt new file mode 100644 index 0000000000..b2b121e58c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-3a137dd7b503.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3cd5f858a00d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3cd5f858a00d.pkt new file mode 100644 index 0000000000..d62ec40379 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-3cd5f858a00d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3d25900ba1b1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3d25900ba1b1.pkt new file mode 100644 index 0000000000..1f48c36c2c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-3d25900ba1b1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-3e3cd0560440.pkt b/fuzz/dns_message_parse.in/bind-systemtest-3e3cd0560440.pkt new file mode 100644 index 0000000000..5bca44e648 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-3e3cd0560440.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4266b7ed6d6a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4266b7ed6d6a.pkt new file mode 100644 index 0000000000..18f3eeb220 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4266b7ed6d6a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-43c68a804d35.pkt b/fuzz/dns_message_parse.in/bind-systemtest-43c68a804d35.pkt new file mode 100644 index 0000000000..31eb489513 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-43c68a804d35.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-43d462943ca3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-43d462943ca3.pkt new file mode 100644 index 0000000000..047755c959 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-43d462943ca3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4434df5061b3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4434df5061b3.pkt new file mode 100644 index 0000000000..52e4284e10 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4434df5061b3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-478b516e964a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-478b516e964a.pkt new file mode 100644 index 0000000000..48ec1d6c84 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-478b516e964a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-49bb8231b39d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-49bb8231b39d.pkt new file mode 100644 index 0000000000..ea41ef60fd Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-49bb8231b39d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4aa7978e4119.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4aa7978e4119.pkt new file mode 100644 index 0000000000..8edd764583 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4aa7978e4119.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4bfca9820e10.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4bfca9820e10.pkt new file mode 100644 index 0000000000..5eb1018ed0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4bfca9820e10.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4dffd19c9afb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4dffd19c9afb.pkt new file mode 100644 index 0000000000..33adf07e55 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4dffd19c9afb.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4ec445e05f0c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4ec445e05f0c.pkt new file mode 100644 index 0000000000..f66e4ad8dc Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4ec445e05f0c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4f2cbb78045a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4f2cbb78045a.pkt new file mode 100644 index 0000000000..167fb856b3 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4f2cbb78045a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-4f6cc6a12505.pkt b/fuzz/dns_message_parse.in/bind-systemtest-4f6cc6a12505.pkt new file mode 100644 index 0000000000..3b42c12c03 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-4f6cc6a12505.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5169d80942f3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5169d80942f3.pkt new file mode 100644 index 0000000000..cfff240ab0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5169d80942f3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5296a02226d1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5296a02226d1.pkt new file mode 100644 index 0000000000..6add1d7b42 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5296a02226d1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-53ed4e7a29d6.pkt b/fuzz/dns_message_parse.in/bind-systemtest-53ed4e7a29d6.pkt new file mode 100644 index 0000000000..6bdb998356 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-53ed4e7a29d6.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-54215b8b2b8e.pkt b/fuzz/dns_message_parse.in/bind-systemtest-54215b8b2b8e.pkt new file mode 100644 index 0000000000..13f1f94294 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-54215b8b2b8e.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5634ef9088ee.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5634ef9088ee.pkt new file mode 100644 index 0000000000..1c7559d192 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5634ef9088ee.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5b6b63dd703f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5b6b63dd703f.pkt new file mode 100644 index 0000000000..6534975e63 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5b6b63dd703f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5b9da3da657a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5b9da3da657a.pkt new file mode 100644 index 0000000000..612f2636e3 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5b9da3da657a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5c0ccc6b77bf.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5c0ccc6b77bf.pkt new file mode 100644 index 0000000000..551a8a1454 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5c0ccc6b77bf.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5d979f41d421.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5d979f41d421.pkt new file mode 100644 index 0000000000..5c3e152863 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5d979f41d421.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-5d9c67d54aec.pkt b/fuzz/dns_message_parse.in/bind-systemtest-5d9c67d54aec.pkt new file mode 100644 index 0000000000..b9f3a12dbd Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-5d9c67d54aec.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6303ab0cdf88.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6303ab0cdf88.pkt new file mode 100644 index 0000000000..cc7883c436 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6303ab0cdf88.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-630463d00dac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-630463d00dac.pkt new file mode 100644 index 0000000000..667b3fbf2c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-630463d00dac.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-63be4d8a1d68.pkt b/fuzz/dns_message_parse.in/bind-systemtest-63be4d8a1d68.pkt new file mode 100644 index 0000000000..a2b448e0f5 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-63be4d8a1d68.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-63d46cd58251.pkt b/fuzz/dns_message_parse.in/bind-systemtest-63d46cd58251.pkt new file mode 100644 index 0000000000..7848ce134c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-63d46cd58251.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6400baa777ad.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6400baa777ad.pkt new file mode 100644 index 0000000000..ca94795565 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6400baa777ad.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-641b1b826491.pkt b/fuzz/dns_message_parse.in/bind-systemtest-641b1b826491.pkt new file mode 100644 index 0000000000..ae0ed2793e Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-641b1b826491.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-646e3c9711e4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-646e3c9711e4.pkt new file mode 100644 index 0000000000..94549cd37f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-646e3c9711e4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6491f22d5f5b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6491f22d5f5b.pkt new file mode 100644 index 0000000000..3596183f08 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6491f22d5f5b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-651968863bc9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-651968863bc9.pkt new file mode 100644 index 0000000000..a094b9fc6b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-651968863bc9.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-66197bb21ca4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-66197bb21ca4.pkt new file mode 100644 index 0000000000..bf212e055e Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-66197bb21ca4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-68f9625e0aec.pkt b/fuzz/dns_message_parse.in/bind-systemtest-68f9625e0aec.pkt new file mode 100644 index 0000000000..13f1d6b8da Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-68f9625e0aec.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-69362e75d3be.pkt b/fuzz/dns_message_parse.in/bind-systemtest-69362e75d3be.pkt new file mode 100644 index 0000000000..88d1b1a1ba Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-69362e75d3be.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6a5efb202ad8.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6a5efb202ad8.pkt new file mode 100644 index 0000000000..43ef8a595b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6a5efb202ad8.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6a93e44599bf.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6a93e44599bf.pkt new file mode 100644 index 0000000000..7a23e5a230 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6a93e44599bf.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6be5dd262530.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6be5dd262530.pkt new file mode 100644 index 0000000000..4c81487550 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6be5dd262530.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6c7b6f8c8afd.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6c7b6f8c8afd.pkt new file mode 100644 index 0000000000..1b6584bbfd Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6c7b6f8c8afd.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-6e4e87d71bc5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-6e4e87d71bc5.pkt new file mode 100644 index 0000000000..e26f2a5d11 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-6e4e87d71bc5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-702a6a8add74.pkt b/fuzz/dns_message_parse.in/bind-systemtest-702a6a8add74.pkt new file mode 100644 index 0000000000..247cd19661 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-702a6a8add74.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-72266173e768.pkt b/fuzz/dns_message_parse.in/bind-systemtest-72266173e768.pkt new file mode 100644 index 0000000000..80cf80518d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-72266173e768.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-75ae672e4cae.pkt b/fuzz/dns_message_parse.in/bind-systemtest-75ae672e4cae.pkt new file mode 100644 index 0000000000..04abe16998 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-75ae672e4cae.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-787896107cf3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-787896107cf3.pkt new file mode 100644 index 0000000000..4df9323970 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-787896107cf3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-78ab38d04283.pkt b/fuzz/dns_message_parse.in/bind-systemtest-78ab38d04283.pkt new file mode 100644 index 0000000000..2f3ad47447 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-78ab38d04283.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-795193a1db70.pkt b/fuzz/dns_message_parse.in/bind-systemtest-795193a1db70.pkt new file mode 100644 index 0000000000..6ab46acdcf Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-795193a1db70.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-797d68892908.pkt b/fuzz/dns_message_parse.in/bind-systemtest-797d68892908.pkt new file mode 100644 index 0000000000..f814240335 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-797d68892908.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-7b5c63ad58fb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-7b5c63ad58fb.pkt new file mode 100644 index 0000000000..1b671da668 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-7b5c63ad58fb.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-7d8144b4f9ac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-7d8144b4f9ac.pkt new file mode 100644 index 0000000000..3f61b46636 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-7d8144b4f9ac.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-7dbaeeb319be.pkt b/fuzz/dns_message_parse.in/bind-systemtest-7dbaeeb319be.pkt new file mode 100644 index 0000000000..d8b9495321 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-7dbaeeb319be.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-7de0b8fa5185.pkt b/fuzz/dns_message_parse.in/bind-systemtest-7de0b8fa5185.pkt new file mode 100644 index 0000000000..93b8cdb6d3 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-7de0b8fa5185.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-805c5f9cc117.pkt b/fuzz/dns_message_parse.in/bind-systemtest-805c5f9cc117.pkt new file mode 100644 index 0000000000..af5294a996 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-805c5f9cc117.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-832a9ff132b4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-832a9ff132b4.pkt new file mode 100644 index 0000000000..edfdccfc78 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-832a9ff132b4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-836a160118ed.pkt b/fuzz/dns_message_parse.in/bind-systemtest-836a160118ed.pkt new file mode 100644 index 0000000000..015fd6c265 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-836a160118ed.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-83d8a26b0ba1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-83d8a26b0ba1.pkt new file mode 100644 index 0000000000..697332e7f2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-83d8a26b0ba1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-84363927a7c4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-84363927a7c4.pkt new file mode 100644 index 0000000000..e7d4906239 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-84363927a7c4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-871b17db22dc.pkt b/fuzz/dns_message_parse.in/bind-systemtest-871b17db22dc.pkt new file mode 100644 index 0000000000..6e88f20b4d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-871b17db22dc.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8847038e2f7d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8847038e2f7d.pkt new file mode 100644 index 0000000000..3a9b9513c7 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8847038e2f7d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8865e3e8fc58.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8865e3e8fc58.pkt new file mode 100644 index 0000000000..62dbf0204c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8865e3e8fc58.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-88861957625d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-88861957625d.pkt new file mode 100644 index 0000000000..37bd51ed49 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-88861957625d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-89108c64d256.pkt b/fuzz/dns_message_parse.in/bind-systemtest-89108c64d256.pkt new file mode 100644 index 0000000000..48694199e1 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-89108c64d256.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8a50cad26a32.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8a50cad26a32.pkt new file mode 100644 index 0000000000..c05a088095 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8a50cad26a32.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8bd3def5546b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8bd3def5546b.pkt new file mode 100644 index 0000000000..3b0a251d3d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8bd3def5546b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8c59124ecb07.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8c59124ecb07.pkt new file mode 100644 index 0000000000..f34993f19b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8c59124ecb07.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8df3ab8b6e61.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8df3ab8b6e61.pkt new file mode 100644 index 0000000000..bf6d423893 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8df3ab8b6e61.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8dfc87b32ef5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8dfc87b32ef5.pkt new file mode 100644 index 0000000000..56ae6611f8 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8dfc87b32ef5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8ec56dbf62d3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8ec56dbf62d3.pkt new file mode 100644 index 0000000000..7c434a970f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8ec56dbf62d3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-8fa237c06042.pkt b/fuzz/dns_message_parse.in/bind-systemtest-8fa237c06042.pkt new file mode 100644 index 0000000000..07f776efff Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-8fa237c06042.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-902a3c05da11.pkt b/fuzz/dns_message_parse.in/bind-systemtest-902a3c05da11.pkt new file mode 100644 index 0000000000..6645aaf6e6 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-902a3c05da11.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-928c3456965c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-928c3456965c.pkt new file mode 100644 index 0000000000..de65fa1317 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-928c3456965c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-933133e35070.pkt b/fuzz/dns_message_parse.in/bind-systemtest-933133e35070.pkt new file mode 100644 index 0000000000..fd10d4f753 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-933133e35070.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-935e0d54e9c9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-935e0d54e9c9.pkt new file mode 100644 index 0000000000..ce54406031 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-935e0d54e9c9.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9505061ee351.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9505061ee351.pkt new file mode 100644 index 0000000000..a3731cb947 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9505061ee351.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-968627e29186.pkt b/fuzz/dns_message_parse.in/bind-systemtest-968627e29186.pkt new file mode 100644 index 0000000000..eb854a9c3c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-968627e29186.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-972c76703038.pkt b/fuzz/dns_message_parse.in/bind-systemtest-972c76703038.pkt new file mode 100644 index 0000000000..902fb973e4 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-972c76703038.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9891a0862aac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9891a0862aac.pkt new file mode 100644 index 0000000000..efe015a367 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9891a0862aac.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-98d15ca48eef.pkt b/fuzz/dns_message_parse.in/bind-systemtest-98d15ca48eef.pkt new file mode 100644 index 0000000000..3b6c61b7b1 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-98d15ca48eef.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9944d30084a1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9944d30084a1.pkt new file mode 100644 index 0000000000..a6067d3650 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9944d30084a1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-99de4b1b7c38.pkt b/fuzz/dns_message_parse.in/bind-systemtest-99de4b1b7c38.pkt new file mode 100644 index 0000000000..3e9fc2f24a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-99de4b1b7c38.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9de0b2c0780d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9de0b2c0780d.pkt new file mode 100644 index 0000000000..4d7c29c0aa Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9de0b2c0780d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9e3af51e2bcb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9e3af51e2bcb.pkt new file mode 100644 index 0000000000..8292d37f76 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9e3af51e2bcb.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9f0f1e4e817b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9f0f1e4e817b.pkt new file mode 100644 index 0000000000..23fc087957 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9f0f1e4e817b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-9f48f3557a00.pkt b/fuzz/dns_message_parse.in/bind-systemtest-9f48f3557a00.pkt new file mode 100644 index 0000000000..c505745b34 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-9f48f3557a00.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a06ce069e6b3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a06ce069e6b3.pkt new file mode 100644 index 0000000000..de74dcda72 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a06ce069e6b3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a2a5b67b76b2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a2a5b67b76b2.pkt new file mode 100644 index 0000000000..b63d219d71 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a2a5b67b76b2.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a39dc6e6ee00.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a39dc6e6ee00.pkt new file mode 100644 index 0000000000..df2909b1cf Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a39dc6e6ee00.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a3c097b04746.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a3c097b04746.pkt new file mode 100644 index 0000000000..21a967b43b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a3c097b04746.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a3e871047ca3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a3e871047ca3.pkt new file mode 100644 index 0000000000..5fb3abb15a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a3e871047ca3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a45373b1a726.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a45373b1a726.pkt new file mode 100644 index 0000000000..04d2fe25fa Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a45373b1a726.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a4cb3a9bf3e7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a4cb3a9bf3e7.pkt new file mode 100644 index 0000000000..cdfdfe593d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a4cb3a9bf3e7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a62833d96a66.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a62833d96a66.pkt new file mode 100644 index 0000000000..16db8e8a59 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a62833d96a66.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a790c5d85b6b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a790c5d85b6b.pkt new file mode 100644 index 0000000000..f35e0b8f12 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a790c5d85b6b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a880c5517d16.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a880c5517d16.pkt new file mode 100644 index 0000000000..f4982ab419 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a880c5517d16.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-a8a01fa5c284.pkt b/fuzz/dns_message_parse.in/bind-systemtest-a8a01fa5c284.pkt new file mode 100644 index 0000000000..98c71c7df1 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-a8a01fa5c284.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-aa6cb7a11980.pkt b/fuzz/dns_message_parse.in/bind-systemtest-aa6cb7a11980.pkt new file mode 100644 index 0000000000..85458b2ea3 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-aa6cb7a11980.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-abfec4ff90c7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-abfec4ff90c7.pkt new file mode 100644 index 0000000000..444c7a8d66 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-abfec4ff90c7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ac3e9300db0c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ac3e9300db0c.pkt new file mode 100644 index 0000000000..160dda0e41 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ac3e9300db0c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ac990a516666.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ac990a516666.pkt new file mode 100644 index 0000000000..56e0e58792 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ac990a516666.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ad5d6c0d0fb9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ad5d6c0d0fb9.pkt new file mode 100644 index 0000000000..0692541ed1 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ad5d6c0d0fb9.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ae10c96730e8.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ae10c96730e8.pkt new file mode 100644 index 0000000000..d73829b0c4 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ae10c96730e8.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ae4a22aa552a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ae4a22aa552a.pkt new file mode 100644 index 0000000000..a1c2948def Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ae4a22aa552a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-aec4625b6d42.pkt b/fuzz/dns_message_parse.in/bind-systemtest-aec4625b6d42.pkt new file mode 100644 index 0000000000..8b3a08f8ab Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-aec4625b6d42.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-aec8410bdb4f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-aec8410bdb4f.pkt new file mode 100644 index 0000000000..e55ce79193 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-aec8410bdb4f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-aec8b56210a1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-aec8b56210a1.pkt new file mode 100644 index 0000000000..bffde447e0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-aec8b56210a1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b12fadba475b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b12fadba475b.pkt new file mode 100644 index 0000000000..67573905da Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b12fadba475b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b13de985759b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b13de985759b.pkt new file mode 100644 index 0000000000..8d580d5081 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b13de985759b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b1d9f8cb59df.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b1d9f8cb59df.pkt new file mode 100644 index 0000000000..05f4a956cb Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b1d9f8cb59df.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b1e8adc5d017.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b1e8adc5d017.pkt new file mode 100644 index 0000000000..ff6d56b1df Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b1e8adc5d017.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b323d823e01b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b323d823e01b.pkt new file mode 100644 index 0000000000..0c4b33854e Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b323d823e01b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b454cbb43d66.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b454cbb43d66.pkt new file mode 100644 index 0000000000..287ce05ba4 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b454cbb43d66.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b46361010e76.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b46361010e76.pkt new file mode 100644 index 0000000000..8516ec2ff9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b46361010e76.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b4b611ab5fcc.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b4b611ab5fcc.pkt new file mode 100644 index 0000000000..644f594e1d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b4b611ab5fcc.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b65097187471.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b65097187471.pkt new file mode 100644 index 0000000000..ea90806505 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b65097187471.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b6701c25b6e1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b6701c25b6e1.pkt new file mode 100644 index 0000000000..fb7507255d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b6701c25b6e1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b6f6cd200669.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b6f6cd200669.pkt new file mode 100644 index 0000000000..d5a7728db8 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b6f6cd200669.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b7c5ba0f7fb0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b7c5ba0f7fb0.pkt new file mode 100644 index 0000000000..43b46f2052 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b7c5ba0f7fb0.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b88e4bb4abba.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b88e4bb4abba.pkt new file mode 100644 index 0000000000..544be04802 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b88e4bb4abba.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b8bf0052fb08.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b8bf0052fb08.pkt new file mode 100644 index 0000000000..6a47f988d6 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b8bf0052fb08.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b9bc7f02a216.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b9bc7f02a216.pkt new file mode 100644 index 0000000000..fc80325332 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b9bc7f02a216.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-b9ce7339dddc.pkt b/fuzz/dns_message_parse.in/bind-systemtest-b9ce7339dddc.pkt new file mode 100644 index 0000000000..6080965c05 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-b9ce7339dddc.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ba7424594a0d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ba7424594a0d.pkt new file mode 100644 index 0000000000..44d7574b6b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ba7424594a0d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-bc9f1f65a3c4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-bc9f1f65a3c4.pkt new file mode 100644 index 0000000000..41deba507a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-bc9f1f65a3c4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-bd736b351783.pkt b/fuzz/dns_message_parse.in/bind-systemtest-bd736b351783.pkt new file mode 100644 index 0000000000..bd4c83b911 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-bd736b351783.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-be76dfe66118.pkt b/fuzz/dns_message_parse.in/bind-systemtest-be76dfe66118.pkt new file mode 100644 index 0000000000..f20a74bc14 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-be76dfe66118.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-be8375564939.pkt b/fuzz/dns_message_parse.in/bind-systemtest-be8375564939.pkt new file mode 100644 index 0000000000..e98672f1d0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-be8375564939.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-bec0455a1678.pkt b/fuzz/dns_message_parse.in/bind-systemtest-bec0455a1678.pkt new file mode 100644 index 0000000000..4cddff82d2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-bec0455a1678.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-bfbfcbd33796.pkt b/fuzz/dns_message_parse.in/bind-systemtest-bfbfcbd33796.pkt new file mode 100644 index 0000000000..7819f57ffd Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-bfbfcbd33796.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c0251ea00b00.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c0251ea00b00.pkt new file mode 100644 index 0000000000..eae53d97bd Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c0251ea00b00.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c10987825ecf.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c10987825ecf.pkt new file mode 100644 index 0000000000..b2b22de1e2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c10987825ecf.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c1cc7bab8256.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c1cc7bab8256.pkt new file mode 100644 index 0000000000..37d0abac72 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c1cc7bab8256.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c254e9d16be3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c254e9d16be3.pkt new file mode 100644 index 0000000000..adfeee4c78 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c254e9d16be3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c2ba496f1449.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c2ba496f1449.pkt new file mode 100644 index 0000000000..3ed111aae2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c2ba496f1449.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c2c3333bdb6c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c2c3333bdb6c.pkt new file mode 100644 index 0000000000..05945b1958 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c2c3333bdb6c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c439937029cb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c439937029cb.pkt new file mode 100644 index 0000000000..0d6cee6c8b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c439937029cb.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c65ffcbdf7d0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c65ffcbdf7d0.pkt new file mode 100644 index 0000000000..317ad1be21 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c65ffcbdf7d0.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c672248dc8ea.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c672248dc8ea.pkt new file mode 100644 index 0000000000..a717dc0497 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c672248dc8ea.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c67977887d95.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c67977887d95.pkt new file mode 100644 index 0000000000..577c134023 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c67977887d95.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c68b9538d3e4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c68b9538d3e4.pkt new file mode 100644 index 0000000000..ad3c709aeb Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c68b9538d3e4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c7cd757cec7c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c7cd757cec7c.pkt new file mode 100644 index 0000000000..9466c992eb Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c7cd757cec7c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c7d81d83b94c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c7d81d83b94c.pkt new file mode 100644 index 0000000000..af14c7f341 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c7d81d83b94c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c8a3d0ddc61d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c8a3d0ddc61d.pkt new file mode 100644 index 0000000000..3e5557ba62 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c8a3d0ddc61d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c8b4afeff5e2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c8b4afeff5e2.pkt new file mode 100644 index 0000000000..20977119b7 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c8b4afeff5e2.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c968926dbec6.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c968926dbec6.pkt new file mode 100644 index 0000000000..9805704406 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c968926dbec6.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c9b3f4c01ed7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c9b3f4c01ed7.pkt new file mode 100644 index 0000000000..6ffca56061 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c9b3f4c01ed7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-c9e67818c18c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-c9e67818c18c.pkt new file mode 100644 index 0000000000..9db2d21943 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-c9e67818c18c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-cd46ee3cac5a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-cd46ee3cac5a.pkt new file mode 100644 index 0000000000..00710b88d1 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-cd46ee3cac5a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-cd7b9a067681.pkt b/fuzz/dns_message_parse.in/bind-systemtest-cd7b9a067681.pkt new file mode 100644 index 0000000000..f409e0d48c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-cd7b9a067681.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ce7878853fa2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ce7878853fa2.pkt new file mode 100644 index 0000000000..5709f85d6b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ce7878853fa2.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-cefdad1b260f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-cefdad1b260f.pkt new file mode 100644 index 0000000000..e999c5947f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-cefdad1b260f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-cf6c31a11c89.pkt b/fuzz/dns_message_parse.in/bind-systemtest-cf6c31a11c89.pkt new file mode 100644 index 0000000000..fe423f03df Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-cf6c31a11c89.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d3c96f0d1490.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d3c96f0d1490.pkt new file mode 100644 index 0000000000..631dfdbf54 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d3c96f0d1490.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d42af7b690a0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d42af7b690a0.pkt new file mode 100644 index 0000000000..8fd1172eef Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d42af7b690a0.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d4af13b69f3d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d4af13b69f3d.pkt new file mode 100644 index 0000000000..f8ee4ff987 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d4af13b69f3d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d527fae0755f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d527fae0755f.pkt new file mode 100644 index 0000000000..973fb58a31 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d527fae0755f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d52f26e4f48b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d52f26e4f48b.pkt new file mode 100644 index 0000000000..66a25b6261 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d52f26e4f48b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d5eca764cd66.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d5eca764cd66.pkt new file mode 100644 index 0000000000..1a1e98d665 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d5eca764cd66.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d6e76abab3ad.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d6e76abab3ad.pkt new file mode 100644 index 0000000000..b0b1716173 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d6e76abab3ad.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d71b9874bd1d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d71b9874bd1d.pkt new file mode 100644 index 0000000000..bb1ef20f13 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d71b9874bd1d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-d859bf5ce7e1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-d859bf5ce7e1.pkt new file mode 100644 index 0000000000..35b2eeb992 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-d859bf5ce7e1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-dd118fa60462.pkt b/fuzz/dns_message_parse.in/bind-systemtest-dd118fa60462.pkt new file mode 100644 index 0000000000..5a6c951694 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-dd118fa60462.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ddd14e3b6b59.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ddd14e3b6b59.pkt new file mode 100644 index 0000000000..563c1a7210 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ddd14e3b6b59.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ddffaad18764.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ddffaad18764.pkt new file mode 100644 index 0000000000..f85d2b140c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ddffaad18764.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-de64ccbd4ce3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-de64ccbd4ce3.pkt new file mode 100644 index 0000000000..ae7b3e0535 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-de64ccbd4ce3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-de9bfd253114.pkt b/fuzz/dns_message_parse.in/bind-systemtest-de9bfd253114.pkt new file mode 100644 index 0000000000..1d1f741651 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-de9bfd253114.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-df0844e4d6be.pkt b/fuzz/dns_message_parse.in/bind-systemtest-df0844e4d6be.pkt new file mode 100644 index 0000000000..5972fac1f9 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-df0844e4d6be.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-df703f24c477.pkt b/fuzz/dns_message_parse.in/bind-systemtest-df703f24c477.pkt new file mode 100644 index 0000000000..d920d910b4 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-df703f24c477.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-dfe1e2881ac5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-dfe1e2881ac5.pkt new file mode 100644 index 0000000000..c96dd3be02 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-dfe1e2881ac5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e0dfc9ad6f0f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e0dfc9ad6f0f.pkt new file mode 100644 index 0000000000..978aaf8382 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e0dfc9ad6f0f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e17381e39767.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e17381e39767.pkt new file mode 100644 index 0000000000..86b24e7d08 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e17381e39767.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e2a6cf354856.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e2a6cf354856.pkt new file mode 100644 index 0000000000..40a17f3d14 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e2a6cf354856.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e30893305aac.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e30893305aac.pkt new file mode 100644 index 0000000000..eca00b34af Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e30893305aac.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e32409b3af66.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e32409b3af66.pkt new file mode 100644 index 0000000000..08b5623fc2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e32409b3af66.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e3b5d9c9fe3f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e3b5d9c9fe3f.pkt new file mode 100644 index 0000000000..6279e0697f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e3b5d9c9fe3f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e3d1d67dc45d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e3d1d67dc45d.pkt new file mode 100644 index 0000000000..b5d1f3663a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e3d1d67dc45d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e46fabf59388.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e46fabf59388.pkt new file mode 100644 index 0000000000..4e47d01b6c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e46fabf59388.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e474ce479e99.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e474ce479e99.pkt new file mode 100644 index 0000000000..1188828313 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e474ce479e99.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e573b67bb9e3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e573b67bb9e3.pkt new file mode 100644 index 0000000000..5a695348f6 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e573b67bb9e3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e6d9636b026b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e6d9636b026b.pkt new file mode 100644 index 0000000000..2c609f6ed5 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e6d9636b026b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e7223c7f647d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e7223c7f647d.pkt new file mode 100644 index 0000000000..b40767ec69 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e7223c7f647d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e77695b27ad6.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e77695b27ad6.pkt new file mode 100644 index 0000000000..cc7bf5ff7b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e77695b27ad6.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e7935935808d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e7935935808d.pkt new file mode 100644 index 0000000000..5ae2c5d767 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e7935935808d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e7f900a70954.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e7f900a70954.pkt new file mode 100644 index 0000000000..d005c8949b Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e7f900a70954.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e83789acdcc3.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e83789acdcc3.pkt new file mode 100644 index 0000000000..4c7006c967 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e83789acdcc3.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e8c0eb5e12d1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e8c0eb5e12d1.pkt new file mode 100644 index 0000000000..81c7e717c0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e8c0eb5e12d1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-e94e68b93183.pkt b/fuzz/dns_message_parse.in/bind-systemtest-e94e68b93183.pkt new file mode 100644 index 0000000000..e020220c9f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-e94e68b93183.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-eb9795edda17.pkt b/fuzz/dns_message_parse.in/bind-systemtest-eb9795edda17.pkt new file mode 100644 index 0000000000..0b82b2ac38 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-eb9795edda17.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ebe452324465.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ebe452324465.pkt new file mode 100644 index 0000000000..8900e1d272 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ebe452324465.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ec39cd58be84.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ec39cd58be84.pkt new file mode 100644 index 0000000000..cd03fd4177 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ec39cd58be84.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ec4a653441eb.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ec4a653441eb.pkt new file mode 100644 index 0000000000..1d47304d77 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ec4a653441eb.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ecdced027574.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ecdced027574.pkt new file mode 100644 index 0000000000..9cc7d9982f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ecdced027574.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ed054f5982d5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ed054f5982d5.pkt new file mode 100644 index 0000000000..1d28aaf49a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ed054f5982d5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-eed0dafd9dee.pkt b/fuzz/dns_message_parse.in/bind-systemtest-eed0dafd9dee.pkt new file mode 100644 index 0000000000..d648987549 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-eed0dafd9dee.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f014a72684c2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f014a72684c2.pkt new file mode 100644 index 0000000000..6a1a59deba Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f014a72684c2.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f0b4dab8ce89.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f0b4dab8ce89.pkt new file mode 100644 index 0000000000..a7e2533693 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f0b4dab8ce89.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f0d0da6b96f1.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f0d0da6b96f1.pkt new file mode 100644 index 0000000000..66c2e407b5 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f0d0da6b96f1.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f122eda7b026.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f122eda7b026.pkt new file mode 100644 index 0000000000..f6c9c4f4da Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f122eda7b026.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f14b5e3ef15c.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f14b5e3ef15c.pkt new file mode 100644 index 0000000000..ae85d3596d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f14b5e3ef15c.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f1d418e777ae.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f1d418e777ae.pkt new file mode 100644 index 0000000000..0f7355b73d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f1d418e777ae.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f1e13c2d2e30.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f1e13c2d2e30.pkt new file mode 100644 index 0000000000..1544e6ac5d Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f1e13c2d2e30.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f22e479dc6d6.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f22e479dc6d6.pkt new file mode 100644 index 0000000000..392001e6b1 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f22e479dc6d6.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f273b06c78d4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f273b06c78d4.pkt new file mode 100644 index 0000000000..d23fe2bd35 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f273b06c78d4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f437926bc6c5.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f437926bc6c5.pkt new file mode 100644 index 0000000000..a1d1c45f2a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f437926bc6c5.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f449e690e676.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f449e690e676.pkt new file mode 100644 index 0000000000..430983ec8c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f449e690e676.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f55da7de9012.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f55da7de9012.pkt new file mode 100644 index 0000000000..1dca9a48f2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f55da7de9012.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f587f4c6428f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f587f4c6428f.pkt new file mode 100644 index 0000000000..6660777e30 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f587f4c6428f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f5bc579df1d2.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f5bc579df1d2.pkt new file mode 100644 index 0000000000..76dbd47d70 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f5bc579df1d2.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f60e3510f25b.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f60e3510f25b.pkt new file mode 100644 index 0000000000..c1d1efdc65 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f60e3510f25b.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f62bdc9dd4de.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f62bdc9dd4de.pkt new file mode 100644 index 0000000000..613fab2732 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f62bdc9dd4de.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f6edebc937bd.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f6edebc937bd.pkt new file mode 100644 index 0000000000..f30ada3939 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f6edebc937bd.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f76469109b02.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f76469109b02.pkt new file mode 100644 index 0000000000..d65c4fc1e5 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f76469109b02.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f76f553f4fa0.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f76f553f4fa0.pkt new file mode 100644 index 0000000000..8900030e95 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f76f553f4fa0.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f797d11e3c4f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f797d11e3c4f.pkt new file mode 100644 index 0000000000..8f9651d98a Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f797d11e3c4f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f799bb18a6b4.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f799bb18a6b4.pkt new file mode 100644 index 0000000000..e170d6abe0 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f799bb18a6b4.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f79a08509eca.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f79a08509eca.pkt new file mode 100644 index 0000000000..dd06110ed2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f79a08509eca.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f7ecd481acc7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f7ecd481acc7.pkt new file mode 100644 index 0000000000..7ae0a618c1 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f7ecd481acc7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f8f516ea9428.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f8f516ea9428.pkt new file mode 100644 index 0000000000..61663c87a1 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f8f516ea9428.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-f99e669d189d.pkt b/fuzz/dns_message_parse.in/bind-systemtest-f99e669d189d.pkt new file mode 100644 index 0000000000..239cd44ba8 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-f99e669d189d.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fad2599d584a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fad2599d584a.pkt new file mode 100644 index 0000000000..de046263ed Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fad2599d584a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fb5d54dfc593.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fb5d54dfc593.pkt new file mode 100644 index 0000000000..3a47fefda2 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fb5d54dfc593.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fbfeae8a5a7f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fbfeae8a5a7f.pkt new file mode 100644 index 0000000000..5b7f450736 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fbfeae8a5a7f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fc3efa6eb96a.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fc3efa6eb96a.pkt new file mode 100644 index 0000000000..814775b82c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fc3efa6eb96a.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fd8135176e19.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fd8135176e19.pkt new file mode 100644 index 0000000000..a435c3f88c Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fd8135176e19.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fe15124e969f.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fe15124e969f.pkt new file mode 100644 index 0000000000..0a6c56fa7f Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fe15124e969f.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fe2b7e021de8.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fe2b7e021de8.pkt new file mode 100644 index 0000000000..fd7efe9f72 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fe2b7e021de8.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ff5c3d4491e7.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ff5c3d4491e7.pkt new file mode 100644 index 0000000000..bedcd9d545 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ff5c3d4491e7.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-ffa6fed4d130.pkt b/fuzz/dns_message_parse.in/bind-systemtest-ffa6fed4d130.pkt new file mode 100644 index 0000000000..9afb8989e6 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-ffa6fed4d130.pkt differ diff --git a/fuzz/dns_message_parse.in/bind-systemtest-fff2972f8fa9.pkt b/fuzz/dns_message_parse.in/bind-systemtest-fff2972f8fa9.pkt new file mode 100644 index 0000000000..5ef82fe459 Binary files /dev/null and b/fuzz/dns_message_parse.in/bind-systemtest-fff2972f8fa9.pkt differ diff --git a/fuzz/dns_message_parse.in/cz.nic-24.pkt b/fuzz/dns_message_parse.in/cz.nic-24.pkt new file mode 100644 index 0000000000..1ec4877a63 Binary files /dev/null and b/fuzz/dns_message_parse.in/cz.nic-24.pkt differ diff --git a/fuzz/dns_message_parse.in/cz.nic-25.pkt b/fuzz/dns_message_parse.in/cz.nic-25.pkt new file mode 100644 index 0000000000..f4193855a6 Binary files /dev/null and b/fuzz/dns_message_parse.in/cz.nic-25.pkt differ diff --git a/fuzz/dns_message_parse.in/cz.nic-26.pkt b/fuzz/dns_message_parse.in/cz.nic-26.pkt new file mode 100644 index 0000000000..cc8e236996 Binary files /dev/null and b/fuzz/dns_message_parse.in/cz.nic-26.pkt differ diff --git a/fuzz/dns_message_parse.in/cz.nic-3.pkt b/fuzz/dns_message_parse.in/cz.nic-3.pkt new file mode 100644 index 0000000000..dfa0076e82 Binary files /dev/null and b/fuzz/dns_message_parse.in/cz.nic-3.pkt differ diff --git a/fuzz/dns_message_parse.in/issue-4189.pkt b/fuzz/dns_message_parse.in/issue-4189.pkt new file mode 100644 index 0000000000..23a2b431b6 Binary files /dev/null and b/fuzz/dns_message_parse.in/issue-4189.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-176998.pkt b/fuzz/dns_message_parse.in/seed-176998.pkt new file mode 100644 index 0000000000..32820d1640 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-176998.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-209207.pkt b/fuzz/dns_message_parse.in/seed-209207.pkt new file mode 100644 index 0000000000..ed8ab50fe4 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-209207.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-27166.pkt b/fuzz/dns_message_parse.in/seed-27166.pkt new file mode 100644 index 0000000000..147b87ecb2 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-27166.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-289417.pkt b/fuzz/dns_message_parse.in/seed-289417.pkt new file mode 100644 index 0000000000..3912fc1102 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-289417.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-345158.pkt b/fuzz/dns_message_parse.in/seed-345158.pkt new file mode 100644 index 0000000000..0f57f4cffb Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-345158.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-357147.pkt b/fuzz/dns_message_parse.in/seed-357147.pkt new file mode 100644 index 0000000000..f659629cfc Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-357147.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-438052.pkt b/fuzz/dns_message_parse.in/seed-438052.pkt new file mode 100644 index 0000000000..08fde3a4a4 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-438052.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-443089.pkt b/fuzz/dns_message_parse.in/seed-443089.pkt new file mode 100644 index 0000000000..bcac48a84e Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-443089.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-553818.pkt b/fuzz/dns_message_parse.in/seed-553818.pkt new file mode 100644 index 0000000000..54b04fc91f Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-553818.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-577278.pkt b/fuzz/dns_message_parse.in/seed-577278.pkt new file mode 100644 index 0000000000..4bb211ce25 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-577278.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-608943.pkt b/fuzz/dns_message_parse.in/seed-608943.pkt new file mode 100644 index 0000000000..b6eb429525 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-608943.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-735918.pkt b/fuzz/dns_message_parse.in/seed-735918.pkt new file mode 100644 index 0000000000..c7f95c8071 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-735918.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-738261.pkt b/fuzz/dns_message_parse.in/seed-738261.pkt new file mode 100644 index 0000000000..9cdbcd003d Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-738261.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-743121.pkt b/fuzz/dns_message_parse.in/seed-743121.pkt new file mode 100644 index 0000000000..588f13a297 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-743121.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-782674.pkt b/fuzz/dns_message_parse.in/seed-782674.pkt new file mode 100644 index 0000000000..ca4ad5fc33 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-782674.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-818733.pkt b/fuzz/dns_message_parse.in/seed-818733.pkt new file mode 100644 index 0000000000..b561586935 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-818733.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-868934.pkt b/fuzz/dns_message_parse.in/seed-868934.pkt new file mode 100644 index 0000000000..2e256c3d46 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-868934.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-893515.pkt b/fuzz/dns_message_parse.in/seed-893515.pkt new file mode 100644 index 0000000000..73a554ea26 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-893515.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-894122.pkt b/fuzz/dns_message_parse.in/seed-894122.pkt new file mode 100644 index 0000000000..8e05c893a2 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-894122.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-928203.pkt b/fuzz/dns_message_parse.in/seed-928203.pkt new file mode 100644 index 0000000000..5ca89681a1 Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-928203.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-94044.pkt b/fuzz/dns_message_parse.in/seed-94044.pkt new file mode 100644 index 0000000000..7f7f716baf Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-94044.pkt differ diff --git a/fuzz/dns_message_parse.in/seed-951706.pkt b/fuzz/dns_message_parse.in/seed-951706.pkt new file mode 100644 index 0000000000..0d905dce3d Binary files /dev/null and b/fuzz/dns_message_parse.in/seed-951706.pkt differ diff --git a/fuzz/dns_name_fromtext_target.c b/fuzz/dns_name_fromtext_target.c new file mode 100644 index 0000000000..ba9c7ab2a2 --- /dev/null +++ b/fuzz/dns_name_fromtext_target.c @@ -0,0 +1,52 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +#include +#include + +#include +#include + +#include +#include + +#include "fuzz.h" + +bool debug = false; + +int +LLVMFuzzerInitialize(int *argc __attribute__((unused)), + char ***argv __attribute__((unused))) { + return (0); +} + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + isc_buffer_t buf; + isc_result_t result; + dns_fixedname_t origin; + + dns_fixedname_init(&origin); + + isc_buffer_constinit(&buf, data, size); + isc_buffer_add(&buf, size); + isc_buffer_setactive(&buf, size); + + result = dns_name_fromtext(dns_fixedname_name(&origin), &buf, + dns_rootname, 0, NULL); + if (debug) { + fprintf(stderr, "dns_name_fromtext: %s\n", + isc_result_totext(result)); + } + return (0); +} diff --git a/fuzz/dns_name_fromtext_target.in/example.com b/fuzz/dns_name_fromtext_target.in/example.com new file mode 100644 index 0000000000..de54ac6684 --- /dev/null +++ b/fuzz/dns_name_fromtext_target.in/example.com @@ -0,0 +1 @@ +example.com diff --git a/fuzz/dns_rdata_fromtext.in/svbc-max-token b/fuzz/dns_rdata_fromtext.in/svbc-max-token new file mode 100644 index 0000000000..6d1a265d9f --- /dev/null +++ b/fuzz/dns_rdata_fromtext.in/svbc-max-token @@ -0,0 +1 @@ +1 65 8 . aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa= diff --git a/fuzz/dns_rdata_fromwire_text.c b/fuzz/dns_rdata_fromwire_text.c new file mode 100644 index 0000000000..c99d9ea526 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.c @@ -0,0 +1,232 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#define CHECK(x) \ + ({ \ + if ((result = (x)) != ISC_R_SUCCESS) \ + goto done; \ + }) + +bool debug = false; + +int +LLVMFuzzerInitialize(int *argc __attribute__((unused)), + char ***argv __attribute__((unused))) { + return (0); +} + + +/* + * Fuzz input to dns_rdata_fromwire(). Then convert the result + * to text, back to wire format, to multiline text, and back to wire + * format again, checking for consistency throughout the sequence. + */ + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); + +static void +nullmsg(dns_rdatacallbacks_t *cb, const char *fmt, ...) { + va_list args; + + UNUSED(cb); + + if (debug) { + va_start(args, fmt); + vfprintf(stderr, fmt, args); + fprintf(stderr, "\n"); + va_end(args); + } +} + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + char totext[64 * 1044 * 4]; + dns_compress_t cctx; + dns_decompress_t dctx; + dns_rdatatype_t rdtype; + dns_rdataclass_t rdclass; + dns_rdatatype_t typelist[256] = { 1000 }; /* unknown */ + dns_rdataclass_t classlist[] = { dns_rdataclass_in, dns_rdataclass_hs, + dns_rdataclass_ch, dns_rdataclass_any, + 60 }; + dns_rdata_t rdata1 = DNS_RDATA_INIT, rdata2 = DNS_RDATA_INIT, + rdata3 = DNS_RDATA_INIT; + dns_rdatacallbacks_t callbacks; + isc_buffer_t source, target; + isc_lex_t *lex = NULL; + isc_lexspecials_t specials; + isc_mem_t *mctx = NULL; + isc_result_t result; + unsigned char fromtext[1024]; + unsigned char fromwire[1024]; + unsigned char towire[1024]; + unsigned int classes = (sizeof(classlist) / sizeof(classlist[0])); + unsigned int types = 1, flags, t; + + /* + * First 2 bytes are used to select type and class. + * dns_rdata_fromwire() only accepts input up to 2^16-1 octets. + */ + if (size < 2 || size > 0xffff + 2) { + return (0); + } + + /* + * Append known types to list. + */ + for (t = 1; t <= 0x10000; t++) { + char typebuf[256]; + if (dns_rdatatype_ismeta(t)) { + continue; + } + dns_rdatatype_format(t, typebuf, sizeof(typebuf)); + if (strncmp(typebuf, "TYPE", 4) != 0) { + /* Assert when we need to grow typelist. */ + assert(types < sizeof(typelist) / sizeof(typelist[0])); + typelist[types++] = t; + } + } + + /* + * Random type and class from a limited set. + */ + rdtype = typelist[(*data++) % types]; + size--; + rdclass = classlist[(*data++) % classes]; + size--; + + isc_mem_create(0, 0, &mctx); + + CHECK(isc_lex_create(mctx, 64, &lex)); + memset(specials, 0, sizeof(specials)); + specials[0] = 1; + specials['('] = 1; + specials[')'] = 1; + specials['"'] = 1; + isc_lex_setspecials(lex, specials); + isc_lex_setcomments(lex, ISC_LEXCOMMENT_DNSMASTERFILE); + + if (debug) { + fprintf(stderr, "type=%u, class=%u\n", rdtype, rdclass); + } + + dns_rdatacallbacks_init(&callbacks); + callbacks.warn = callbacks.error = nullmsg; + + /* Disallow decompression as we are reading a packet */ + dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_NONE); + + isc_buffer_constinit(&source, data, size); + isc_buffer_add(&source, size); + isc_buffer_setactive(&source, size); + + isc_buffer_init(&target, fromwire, sizeof(fromwire)); + + /* + * Reject invalid rdata. + */ + CHECK(dns_rdata_fromwire(&rdata1, rdclass, rdtype, &source, &dctx, 0, + &target)); + assert(rdata1.length == size); + + /* + * Convert to text from wire. + */ + isc_buffer_init(&target, totext, sizeof(totext) - 1); + result = dns_rdata_totext(&rdata1, NULL, &target); + assert(result == ISC_R_SUCCESS); + + /* + * Make debugging easier by NUL terminating. + */ + totext[isc_buffer_usedlength(&target)] = 0; + + /* + * Convert to wire from text. + */ + isc_buffer_constinit(&source, totext, isc_buffer_usedlength(&target)); + isc_buffer_add(&source, isc_buffer_usedlength(&target)); + CHECK(isc_lex_openbuffer(lex, &source)); + + isc_buffer_init(&target, fromtext, sizeof(fromtext)); + result = dns_rdata_fromtext(&rdata2, rdclass, rdtype, lex, dns_rootname, + 0, mctx, &target, &callbacks); + if (debug && result != ISC_R_SUCCESS) { + fprintf(stderr, "'%s'\n", totext); + } + assert(result == ISC_R_SUCCESS); + assert(rdata2.length == size); + assert(!memcmp(rdata2.data, data, size)); + + /* + * Convert to multi-line text from wire. + */ + isc_buffer_init(&target, totext, sizeof(totext)); + flags = dns_master_styleflags(&dns_master_style_default); + result = dns_rdata_tofmttext(&rdata1, dns_rootname, flags, 80 - 32, 4, + "\n", &target); + assert(result == ISC_R_SUCCESS); + + /* + * Convert to wire from text. + */ + isc_buffer_constinit(&source, totext, isc_buffer_usedlength(&target)); + isc_buffer_add(&source, isc_buffer_usedlength(&target)); + CHECK(isc_lex_openbuffer(lex, &source)); + + isc_buffer_init(&target, fromtext, sizeof(fromtext)); + result = dns_rdata_fromtext(&rdata3, rdclass, rdtype, lex, dns_rootname, + 0, mctx, &target, &callbacks); + assert(result == ISC_R_SUCCESS); + assert(rdata3.length == size); + assert(!memcmp(rdata3.data, data, size)); + + /* + * Convert rdata back to wire. + */ + CHECK(dns_compress_init(&cctx, -1, mctx)); + dns_compress_disable(&cctx); + isc_buffer_init(&target, towire, sizeof(towire)); + result = dns_rdata_towire(&rdata1, &cctx, &target); + dns_compress_invalidate(&cctx); + assert(result == ISC_R_SUCCESS); + assert(target.used == size); + assert(!memcmp(target.base, data, size)); + +done: + if (lex != NULL) { + isc_lex_destroy(&lex); + } + if (lex != NULL) { + isc_mem_detach(&mctx); + } + return (0); +} diff --git a/fuzz/dns_rdata_fromwire_text.in/cdnskey b/fuzz/dns_rdata_fromwire_text.in/cdnskey new file mode 100644 index 0000000000..9eb47d5691 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/cdnskey differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-0 b/fuzz/dns_rdata_fromwire_text.in/input-0 new file mode 100644 index 0000000000..67264cfff8 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-0 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-1 b/fuzz/dns_rdata_fromwire_text.in/input-1 new file mode 100644 index 0000000000..ae8e0b9aa0 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-1 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-10 b/fuzz/dns_rdata_fromwire_text.in/input-10 new file mode 100644 index 0000000000..2a393486d3 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-10 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-100 b/fuzz/dns_rdata_fromwire_text.in/input-100 new file mode 100644 index 0000000000..5a527cd45c Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-100 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-101 b/fuzz/dns_rdata_fromwire_text.in/input-101 new file mode 100644 index 0000000000..1d3d6a2ced Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-101 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-102 b/fuzz/dns_rdata_fromwire_text.in/input-102 new file mode 100644 index 0000000000..b800c4c629 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-102 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-103 b/fuzz/dns_rdata_fromwire_text.in/input-103 new file mode 100644 index 0000000000..c0ca9c0485 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-103 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-104 b/fuzz/dns_rdata_fromwire_text.in/input-104 new file mode 100644 index 0000000000..5c39be4674 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-104 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-105 b/fuzz/dns_rdata_fromwire_text.in/input-105 new file mode 100644 index 0000000000..754d0f2e96 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-105 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-106 b/fuzz/dns_rdata_fromwire_text.in/input-106 new file mode 100644 index 0000000000..af4bdc5de0 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-106 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-107 b/fuzz/dns_rdata_fromwire_text.in/input-107 new file mode 100644 index 0000000000..8ddc50251d Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-107 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-108 b/fuzz/dns_rdata_fromwire_text.in/input-108 new file mode 100644 index 0000000000..a328093ddf Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-108 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-109 b/fuzz/dns_rdata_fromwire_text.in/input-109 new file mode 100644 index 0000000000..b566c0b9e7 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-109 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-11 b/fuzz/dns_rdata_fromwire_text.in/input-11 new file mode 100644 index 0000000000..21ca6193e5 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-11 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-110 b/fuzz/dns_rdata_fromwire_text.in/input-110 new file mode 100644 index 0000000000..b55551a084 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-110 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-111 b/fuzz/dns_rdata_fromwire_text.in/input-111 new file mode 100644 index 0000000000..7e4fcd14fd Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-111 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-112 b/fuzz/dns_rdata_fromwire_text.in/input-112 new file mode 100644 index 0000000000..c351052fa1 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-112 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-113 b/fuzz/dns_rdata_fromwire_text.in/input-113 new file mode 100644 index 0000000000..6159786a7d Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-113 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-114 b/fuzz/dns_rdata_fromwire_text.in/input-114 new file mode 100644 index 0000000000..a709d51557 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-114 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-115 b/fuzz/dns_rdata_fromwire_text.in/input-115 new file mode 100644 index 0000000000..a6a21c1d1d Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-115 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-116 b/fuzz/dns_rdata_fromwire_text.in/input-116 new file mode 100644 index 0000000000..248105bff6 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-116 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-117 b/fuzz/dns_rdata_fromwire_text.in/input-117 new file mode 100644 index 0000000000..82fe40395c Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-117 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-118 b/fuzz/dns_rdata_fromwire_text.in/input-118 new file mode 100644 index 0000000000..0b6136e735 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-118 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-119 b/fuzz/dns_rdata_fromwire_text.in/input-119 new file mode 100644 index 0000000000..bb8cd988a9 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-119 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-12 b/fuzz/dns_rdata_fromwire_text.in/input-12 new file mode 100644 index 0000000000..e51156bdae Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-12 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-120 b/fuzz/dns_rdata_fromwire_text.in/input-120 new file mode 100644 index 0000000000..0e0b607a18 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-120 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-121 b/fuzz/dns_rdata_fromwire_text.in/input-121 new file mode 100644 index 0000000000..8671167ea4 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-121 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-122 b/fuzz/dns_rdata_fromwire_text.in/input-122 new file mode 100644 index 0000000000..90d058c86a Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-122 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-123 b/fuzz/dns_rdata_fromwire_text.in/input-123 new file mode 100644 index 0000000000..9728ae93f2 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-123 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-124 b/fuzz/dns_rdata_fromwire_text.in/input-124 new file mode 100644 index 0000000000..7a548018a0 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-124 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-125 b/fuzz/dns_rdata_fromwire_text.in/input-125 new file mode 100644 index 0000000000..90e21755ef Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-125 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-126 b/fuzz/dns_rdata_fromwire_text.in/input-126 new file mode 100644 index 0000000000..04a84f4273 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-126 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-127 b/fuzz/dns_rdata_fromwire_text.in/input-127 new file mode 100644 index 0000000000..b7b8446bcd Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-127 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-128 b/fuzz/dns_rdata_fromwire_text.in/input-128 new file mode 100644 index 0000000000..bd581cd68e Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-128 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-129 b/fuzz/dns_rdata_fromwire_text.in/input-129 new file mode 100644 index 0000000000..f80c669022 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-129 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-13 b/fuzz/dns_rdata_fromwire_text.in/input-13 new file mode 100644 index 0000000000..0c4f452f8c Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-13 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-130 b/fuzz/dns_rdata_fromwire_text.in/input-130 new file mode 100644 index 0000000000..00d9438a81 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-130 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-131 b/fuzz/dns_rdata_fromwire_text.in/input-131 new file mode 100644 index 0000000000..b5377d3ec7 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-131 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-132 b/fuzz/dns_rdata_fromwire_text.in/input-132 new file mode 100644 index 0000000000..2866ed0913 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-132 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-133 b/fuzz/dns_rdata_fromwire_text.in/input-133 new file mode 100644 index 0000000000..d6ca8c88b5 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-133 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-134 b/fuzz/dns_rdata_fromwire_text.in/input-134 new file mode 100644 index 0000000000..bee8307e74 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-134 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-135 b/fuzz/dns_rdata_fromwire_text.in/input-135 new file mode 100644 index 0000000000..91efead931 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-135 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-136 b/fuzz/dns_rdata_fromwire_text.in/input-136 new file mode 100644 index 0000000000..f7b184300f Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-136 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-137 b/fuzz/dns_rdata_fromwire_text.in/input-137 new file mode 100644 index 0000000000..2bd706657d Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-137 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-138 b/fuzz/dns_rdata_fromwire_text.in/input-138 new file mode 100644 index 0000000000..ea08340323 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-138 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-139 b/fuzz/dns_rdata_fromwire_text.in/input-139 new file mode 100644 index 0000000000..e95cbf5df1 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-139 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-14 b/fuzz/dns_rdata_fromwire_text.in/input-14 new file mode 100644 index 0000000000..bde6b15aef Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-14 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-140 b/fuzz/dns_rdata_fromwire_text.in/input-140 new file mode 100644 index 0000000000..25be40891d Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-140 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-141 b/fuzz/dns_rdata_fromwire_text.in/input-141 new file mode 100644 index 0000000000..0b2d0d6b74 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-141 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-142 b/fuzz/dns_rdata_fromwire_text.in/input-142 new file mode 100644 index 0000000000..ca87de0eb3 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-142 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-143 b/fuzz/dns_rdata_fromwire_text.in/input-143 new file mode 100644 index 0000000000..1a3e0ac308 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-143 @@ -0,0 +1 @@ +d$3ÿê \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-15 b/fuzz/dns_rdata_fromwire_text.in/input-15 new file mode 100644 index 0000000000..72df49cc28 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-15 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-16 b/fuzz/dns_rdata_fromwire_text.in/input-16 new file mode 100644 index 0000000000..b80f63ff25 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-16 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-17 b/fuzz/dns_rdata_fromwire_text.in/input-17 new file mode 100644 index 0000000000..cc63d40d53 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-17 @@ -0,0 +1 @@ +d®#®®®®®®®®®®®®®®®®®®®®®Ä®®®®®d®®®®®d \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-18 b/fuzz/dns_rdata_fromwire_text.in/input-18 new file mode 100644 index 0000000000..4a0d214a9b Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-18 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-19 b/fuzz/dns_rdata_fromwire_text.in/input-19 new file mode 100644 index 0000000000..4ef39ef10a Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-19 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-2 b/fuzz/dns_rdata_fromwire_text.in/input-2 new file mode 100644 index 0000000000..cecf923394 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-2 @@ -0,0 +1 @@ +4A-ò \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-20 b/fuzz/dns_rdata_fromwire_text.in/input-20 new file mode 100644 index 0000000000..52c3851a3c Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-20 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-21 b/fuzz/dns_rdata_fromwire_text.in/input-21 new file mode 100644 index 0000000000..0cc97d6dde Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-21 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-22 b/fuzz/dns_rdata_fromwire_text.in/input-22 new file mode 100644 index 0000000000..d993d4821c Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-22 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-23 b/fuzz/dns_rdata_fromwire_text.in/input-23 new file mode 100644 index 0000000000..38cbee653b Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-23 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-24 b/fuzz/dns_rdata_fromwire_text.in/input-24 new file mode 100644 index 0000000000..a45779ed7c Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-24 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-25 b/fuzz/dns_rdata_fromwire_text.in/input-25 new file mode 100644 index 0000000000..2d9f2cea3d Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-25 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-26 b/fuzz/dns_rdata_fromwire_text.in/input-26 new file mode 100644 index 0000000000..a392076a7d Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-26 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-27 b/fuzz/dns_rdata_fromwire_text.in/input-27 new file mode 100644 index 0000000000..f75f8d9da5 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-27 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-28 b/fuzz/dns_rdata_fromwire_text.in/input-28 new file mode 100644 index 0000000000..005ae77884 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-28 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-29 b/fuzz/dns_rdata_fromwire_text.in/input-29 new file mode 100644 index 0000000000..b9c69e13f5 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-29 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-3 b/fuzz/dns_rdata_fromwire_text.in/input-3 new file mode 100644 index 0000000000..606dc1b33b Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-3 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-30 b/fuzz/dns_rdata_fromwire_text.in/input-30 new file mode 100644 index 0000000000..e106d542ec Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-30 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-31 b/fuzz/dns_rdata_fromwire_text.in/input-31 new file mode 100644 index 0000000000..dc5bf2bd28 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-31 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-32 b/fuzz/dns_rdata_fromwire_text.in/input-32 new file mode 100644 index 0000000000..1297a7eb18 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-32 @@ -0,0 +1 @@ +déé \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-33 b/fuzz/dns_rdata_fromwire_text.in/input-33 new file mode 100644 index 0000000000..b6d57bb935 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-33 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-34 b/fuzz/dns_rdata_fromwire_text.in/input-34 new file mode 100644 index 0000000000..fef669d311 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-34 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-35 b/fuzz/dns_rdata_fromwire_text.in/input-35 new file mode 100644 index 0000000000..94a4a376eb Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-35 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-36 b/fuzz/dns_rdata_fromwire_text.in/input-36 new file mode 100644 index 0000000000..dab603cc98 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-36 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-37 b/fuzz/dns_rdata_fromwire_text.in/input-37 new file mode 100644 index 0000000000..51f4124798 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-37 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-38 b/fuzz/dns_rdata_fromwire_text.in/input-38 new file mode 100644 index 0000000000..1ad3023e59 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-38 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-39 b/fuzz/dns_rdata_fromwire_text.in/input-39 new file mode 100644 index 0000000000..b8dfecd851 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-39 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-4 b/fuzz/dns_rdata_fromwire_text.in/input-4 new file mode 100644 index 0000000000..ae6730e3df Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-4 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-40 b/fuzz/dns_rdata_fromwire_text.in/input-40 new file mode 100644 index 0000000000..5ab35573b3 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-40 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-41 b/fuzz/dns_rdata_fromwire_text.in/input-41 new file mode 100644 index 0000000000..ea33ca7472 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-41 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-42 b/fuzz/dns_rdata_fromwire_text.in/input-42 new file mode 100644 index 0000000000..eb63067e58 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-42 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-43 b/fuzz/dns_rdata_fromwire_text.in/input-43 new file mode 100644 index 0000000000..9aa3747ab2 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-43 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-44 b/fuzz/dns_rdata_fromwire_text.in/input-44 new file mode 100644 index 0000000000..bdc8b9d345 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-44 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-45 b/fuzz/dns_rdata_fromwire_text.in/input-45 new file mode 100644 index 0000000000..e6966b51bc Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-45 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-46 b/fuzz/dns_rdata_fromwire_text.in/input-46 new file mode 100644 index 0000000000..1156424275 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-46 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-47 b/fuzz/dns_rdata_fromwire_text.in/input-47 new file mode 100644 index 0000000000..b499172b0c Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-47 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-48 b/fuzz/dns_rdata_fromwire_text.in/input-48 new file mode 100644 index 0000000000..7ab447b373 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-48 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-49 b/fuzz/dns_rdata_fromwire_text.in/input-49 new file mode 100644 index 0000000000..ab5e3b0873 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-49 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-5 b/fuzz/dns_rdata_fromwire_text.in/input-5 new file mode 100644 index 0000000000..4f0acdc444 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-5 @@ -0,0 +1 @@ +„Ë›› \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-50 b/fuzz/dns_rdata_fromwire_text.in/input-50 new file mode 100644 index 0000000000..5f43a46747 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-50 @@ -0,0 +1 @@ +µ|8‡‡¶|¶|8¶|¶|8 \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-51 b/fuzz/dns_rdata_fromwire_text.in/input-51 new file mode 100644 index 0000000000..880c12c49a Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-51 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-52 b/fuzz/dns_rdata_fromwire_text.in/input-52 new file mode 100644 index 0000000000..50a22afb18 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-52 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-53 b/fuzz/dns_rdata_fromwire_text.in/input-53 new file mode 100644 index 0000000000..95243a67b4 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-53 @@ -0,0 +1 @@ +ñ( \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-54 b/fuzz/dns_rdata_fromwire_text.in/input-54 new file mode 100644 index 0000000000..b5019204f1 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-54 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-55 b/fuzz/dns_rdata_fromwire_text.in/input-55 new file mode 100644 index 0000000000..59b9f030b6 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-55 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-56 b/fuzz/dns_rdata_fromwire_text.in/input-56 new file mode 100644 index 0000000000..b0beba002f Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-56 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-57 b/fuzz/dns_rdata_fromwire_text.in/input-57 new file mode 100644 index 0000000000..24f40a53fd Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-57 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-58 b/fuzz/dns_rdata_fromwire_text.in/input-58 new file mode 100644 index 0000000000..aca62bb62c Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-58 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-59 b/fuzz/dns_rdata_fromwire_text.in/input-59 new file mode 100644 index 0000000000..3388b2d26a Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-59 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-6 b/fuzz/dns_rdata_fromwire_text.in/input-6 new file mode 100644 index 0000000000..889a2bd246 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-6 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-60 b/fuzz/dns_rdata_fromwire_text.in/input-60 new file mode 100644 index 0000000000..ac328d98bb Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-60 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-61 b/fuzz/dns_rdata_fromwire_text.in/input-61 new file mode 100644 index 0000000000..08ad070c7e Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-61 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-62 b/fuzz/dns_rdata_fromwire_text.in/input-62 new file mode 100644 index 0000000000..18a05e576c Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-62 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-63 b/fuzz/dns_rdata_fromwire_text.in/input-63 new file mode 100644 index 0000000000..959fdaf600 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-63 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-64 b/fuzz/dns_rdata_fromwire_text.in/input-64 new file mode 100644 index 0000000000..5d9c5691d4 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-64 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-65 b/fuzz/dns_rdata_fromwire_text.in/input-65 new file mode 100644 index 0000000000..2d9c1fc2af Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-65 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-66 b/fuzz/dns_rdata_fromwire_text.in/input-66 new file mode 100644 index 0000000000..f78d393123 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-66 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-67 b/fuzz/dns_rdata_fromwire_text.in/input-67 new file mode 100644 index 0000000000..95efb965dc Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-67 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-68 b/fuzz/dns_rdata_fromwire_text.in/input-68 new file mode 100644 index 0000000000..e913515bed Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-68 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-69 b/fuzz/dns_rdata_fromwire_text.in/input-69 new file mode 100644 index 0000000000..c8046b5e7a Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-69 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-7 b/fuzz/dns_rdata_fromwire_text.in/input-7 new file mode 100644 index 0000000000..e52f4605a6 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-7 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-70 b/fuzz/dns_rdata_fromwire_text.in/input-70 new file mode 100644 index 0000000000..92a712862e Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-70 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-71 b/fuzz/dns_rdata_fromwire_text.in/input-71 new file mode 100644 index 0000000000..5fc383e5c2 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-71 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-72 b/fuzz/dns_rdata_fromwire_text.in/input-72 new file mode 100644 index 0000000000..7759c47ab9 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-72 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-73 b/fuzz/dns_rdata_fromwire_text.in/input-73 new file mode 100644 index 0000000000..872fee928c Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-73 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-74 b/fuzz/dns_rdata_fromwire_text.in/input-74 new file mode 100644 index 0000000000..6d6ec9302e Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-74 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-75 b/fuzz/dns_rdata_fromwire_text.in/input-75 new file mode 100644 index 0000000000..47a9f2bcd7 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-75 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-76 b/fuzz/dns_rdata_fromwire_text.in/input-76 new file mode 100644 index 0000000000..0a0276171e Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-76 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-77 b/fuzz/dns_rdata_fromwire_text.in/input-77 new file mode 100644 index 0000000000..44d445abb5 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-77 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-78 b/fuzz/dns_rdata_fromwire_text.in/input-78 new file mode 100644 index 0000000000..2893517a85 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-78 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-79 b/fuzz/dns_rdata_fromwire_text.in/input-79 new file mode 100644 index 0000000000..c83c4bd0a4 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-79 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-8 b/fuzz/dns_rdata_fromwire_text.in/input-8 new file mode 100644 index 0000000000..4d60fdfc63 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-8 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-80 b/fuzz/dns_rdata_fromwire_text.in/input-80 new file mode 100644 index 0000000000..5da0971d2c Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-80 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-81 b/fuzz/dns_rdata_fromwire_text.in/input-81 new file mode 100644 index 0000000000..c3b5aff67f Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-81 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-82 b/fuzz/dns_rdata_fromwire_text.in/input-82 new file mode 100644 index 0000000000..0e862c62a4 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-82 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-83 b/fuzz/dns_rdata_fromwire_text.in/input-83 new file mode 100644 index 0000000000..7f49b5f250 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-83 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-84 b/fuzz/dns_rdata_fromwire_text.in/input-84 new file mode 100644 index 0000000000..417471dfe3 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-84 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-85 b/fuzz/dns_rdata_fromwire_text.in/input-85 new file mode 100644 index 0000000000..2e6a9ea1f1 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-85 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-86 b/fuzz/dns_rdata_fromwire_text.in/input-86 new file mode 100644 index 0000000000..1eb09ccf55 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-86 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-87 b/fuzz/dns_rdata_fromwire_text.in/input-87 new file mode 100644 index 0000000000..4c29c23db7 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-87 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-88 b/fuzz/dns_rdata_fromwire_text.in/input-88 new file mode 100644 index 0000000000..28ac529ba8 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-88 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-89 b/fuzz/dns_rdata_fromwire_text.in/input-89 new file mode 100644 index 0000000000..8119bf0a46 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-89 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-9 b/fuzz/dns_rdata_fromwire_text.in/input-9 new file mode 100644 index 0000000000..72a140c84a --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-9 @@ -0,0 +1 @@ +222222'œœœœœœœœœœœœœœœœœ222222222'œœœœœœœœœœœœœœœœ \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/input-90 b/fuzz/dns_rdata_fromwire_text.in/input-90 new file mode 100644 index 0000000000..6ae07bda3b Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-90 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-91 b/fuzz/dns_rdata_fromwire_text.in/input-91 new file mode 100644 index 0000000000..28a0c7fcd1 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-91 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-92 b/fuzz/dns_rdata_fromwire_text.in/input-92 new file mode 100644 index 0000000000..6b7efe59d2 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-92 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-93 b/fuzz/dns_rdata_fromwire_text.in/input-93 new file mode 100644 index 0000000000..a5395e17d7 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-93 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-94 b/fuzz/dns_rdata_fromwire_text.in/input-94 new file mode 100644 index 0000000000..43fbdaef7b Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-94 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-95 b/fuzz/dns_rdata_fromwire_text.in/input-95 new file mode 100644 index 0000000000..742afd781e Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-95 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-96 b/fuzz/dns_rdata_fromwire_text.in/input-96 new file mode 100644 index 0000000000..bb8bb8a803 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-96 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-97 b/fuzz/dns_rdata_fromwire_text.in/input-97 new file mode 100644 index 0000000000..03d79aebb0 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-97 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-98 b/fuzz/dns_rdata_fromwire_text.in/input-98 new file mode 100644 index 0000000000..0cc1f0105f Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/input-98 differ diff --git a/fuzz/dns_rdata_fromwire_text.in/input-99 b/fuzz/dns_rdata_fromwire_text.in/input-99 new file mode 100644 index 0000000000..1490fa00d7 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/input-99 @@ -0,0 +1 @@ +d"éé \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/smimea b/fuzz/dns_rdata_fromwire_text.in/smimea new file mode 100644 index 0000000000..528472da19 --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/smimea @@ -0,0 +1 @@ +…-Òeœ< \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/sshfp b/fuzz/dns_rdata_fromwire_text.in/sshfp new file mode 100644 index 0000000000..b3007cdb0f --- /dev/null +++ b/fuzz/dns_rdata_fromwire_text.in/sshfp @@ -0,0 +1 @@ +|‡°|8 \ No newline at end of file diff --git a/fuzz/dns_rdata_fromwire_text.in/svcb b/fuzz/dns_rdata_fromwire_text.in/svcb new file mode 100644 index 0000000000..800a616701 Binary files /dev/null and b/fuzz/dns_rdata_fromwire_text.in/svcb differ diff --git a/fuzz/fuzz.h b/fuzz/fuzz.h new file mode 100644 index 0000000000..769f846815 --- /dev/null +++ b/fuzz/fuzz.h @@ -0,0 +1,45 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +#pragma once + +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +ISC_LANG_BEGINDECLS + +extern bool debug; + +int +LLVMFuzzerInitialize(int *argc __attribute__((unused)), + char ***argv __attribute__((unused))); + +int +LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); + +#define CHECK(x) \ + if ((x) != ISC_R_SUCCESS) { \ + return 0; \ + } + +ISC_LANG_ENDDECLS diff --git a/fuzz/main.c b/fuzz/main.c new file mode 100644 index 0000000000..4bfc66e1c6 --- /dev/null +++ b/fuzz/main.c @@ -0,0 +1,164 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "fuzz.h" + +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + +#include + +static void +test_one_file(const char *filename) { + int fd; + struct stat st; + char *data; + ssize_t n; + + if ((fd = open(filename, O_RDONLY)) == -1) { + fprintf(stderr, "Failed to open %s: %s\n", filename, + strerror(errno)); + return; + } + + if (fstat(fd, &st) != 0) { + fprintf(stderr, "Failed to stat %s: %s\n", filename, + strerror(errno)); + goto closefd; + } + + data = malloc(st.st_size); + n = read(fd, data, st.st_size); + if (n == st.st_size) { + printf("testing %zd bytes from %s\n", n, filename); + fflush(stdout); + LLVMFuzzerTestOneInput((const uint8_t *)data, n); + fflush(stderr); + } else { + if (n < 0) { + fprintf(stderr, + "Failed to read %zd bytes from %s: %s\n", + (ssize_t)st.st_size, filename, strerror(errno)); + } else { + fprintf(stderr, + "Failed to read %zd bytes from %s, got %zd\n", + (ssize_t)st.st_size, filename, n); + } + } + free(data); +closefd: + close(fd); +} + +static void +test_all_from(const char *dirname) { + DIR *dirp; + struct dirent *dp; + + dirp = opendir(dirname); + if (dirp == NULL) { + return; + } + + while ((dp = readdir(dirp)) != NULL) { + char filename[strlen(dirname) + strlen(dp->d_name) + 2]; + + if (dp->d_name[0] == '.') { + continue; + } + snprintf(filename, sizeof(filename), "%s/%s", dirname, + dp->d_name); + test_one_file(filename); + } + + closedir(dirp); +} + +int +main(int argc, char **argv) { + int ret; + char corpusdir[PATH_MAX]; + const char *target = strrchr(argv[0], '/'); + + ret = LLVMFuzzerInitialize(&argc, &argv); + if (ret != 0) { + fprintf(stderr, "LLVMFuzzerInitialize failure: %d\n", ret); + return 1; + } + + if (argv[1] != NULL && strcmp(argv[1], "-d") == 0) { + debug = true; + argv++; + argc--; + } + + if (argv[1] != NULL) { + while (argv[1] != NULL) { + test_one_file(argv[1]); + argv++; + argc--; + } + POST(argc); + return (0); + } + + target = (target != NULL) ? target + 1 : argv[0]; + if (strncmp(target, "lt-", 3) == 0) { + target += 3; + } + + snprintf(corpusdir, sizeof(corpusdir), FUZZDIR "/%s.in", target); + + test_all_from(corpusdir); + + return (0); +} + +#elif __AFL_COMPILER + +int +main(int argc, char **argv) { + int ret; + unsigned char buf[64 * 1024]; + + LLVMFuzzerInitialize(&argc, &argv); + if (ret != 0) { + fprintf(stderr, "LLVMFuzzerInitialize failure: %d\n", ret); + return 1; + } + +#ifdef __AFL_LOOP + while (__AFL_LOOP(10000)) { /* only works with afl-clang-fast */ +#else /* ifdef __AFL_LOOP */ + { +#endif /* ifdef __AFL_LOOP */ + ret = fread(buf, 1, sizeof(buf), stdin); + if (ret < 0) { + return (0); + } + + LLVMFuzzerTestOneInput(buf, ret); + } + + return (0); +} + +#endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */