From af6e98410984d9d07183508a3155fff660bfc043 Mon Sep 17 00:00:00 2001 From: Evgeny Vereshchagin Date: Fri, 12 Apr 2024 08:59:26 +0000 Subject: [PATCH] fuzz: check that resource records are serialized successfully It shouldn't fail at that point. It's prompted by the "Structure needs cleaning" thing that keeps popping up in various places like https://github.com/systemd/systemd/pull/30952#discussion_r1553181309 and https://github.com/systemd/systemd/issues/31708. --- src/resolve/fuzz-resource-record.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/resolve/fuzz-resource-record.c b/src/resolve/fuzz-resource-record.c index 358a5c7594..f792167aff 100644 --- a/src/resolve/fuzz-resource-record.c +++ b/src/resolve/fuzz-resource-record.c @@ -26,12 +26,10 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { assert_se(f = memstream_init(&m)); (void) fprintf(f, "%s", strna(dns_resource_record_to_string(rr))); - if (dns_resource_record_to_json(rr, &v) < 0) - return 0; - - (void) json_variant_dump(v, JSON_FORMAT_PRETTY|JSON_FORMAT_COLOR|JSON_FORMAT_SOURCE, f, NULL); - (void) dns_resource_record_to_wire_format(rr, false); - (void) dns_resource_record_to_wire_format(rr, true); + assert_se(dns_resource_record_to_json(rr, &v) >= 0); + assert_se(json_variant_dump(v, JSON_FORMAT_PRETTY|JSON_FORMAT_COLOR|JSON_FORMAT_SOURCE, f, NULL) >= 0); + assert_se(dns_resource_record_to_wire_format(rr, false) >= 0); + assert_se(dns_resource_record_to_wire_format(rr, true) >= 0); return 0; } -- 2.25.1