From 0d978878c5931a275cc3085047524168205f650c Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 6 Oct 2020 23:50:01 +1100 Subject: [PATCH] invalidate cctx on error --- fuzz/dns_message_parse.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/fuzz/dns_message_parse.c b/fuzz/dns_message_parse.c index 4202c609a8..01d42068bb 100644 --- a/fuzz/dns_message_parse.c +++ b/fuzz/dns_message_parse.c @@ -92,7 +92,7 @@ print_message(dns_message_t *message) { { \ r = (f); \ if (r != ISC_R_SUCCESS) { \ - return (r); \ + goto cleanup; \ } \ } @@ -110,7 +110,10 @@ render_message(dns_message_t **messagep) { message->counts[i] = 0; } - CHECKRESULT(result, dns_compress_init(&cctx, -1, mctx)); + 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, @@ -135,6 +138,10 @@ render_message(dns_message_t **messagep) { result = parse_message(&buffer, messagep); return (result); + +cleanup: + dns_compress_invalidate(&cctx); + return (result); } int