]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix parse_rr in lib/dns/skr.c was failing to reset the comments
authorMark Andrews <marka@isc.org>
Tue, 14 Oct 2025 00:26:45 +0000 (11:26 +1100)
committerMark Andrews <marka@isc.org>
Tue, 14 Oct 2025 00:26:45 +0000 (11:26 +1100)
If dns_name_fromtext failed or the subsequent dns_name_compare
failed the lexer's comments state wasn't cleaned up.

lib/dns/skr.c

index ab08ec1cd8b7311c2269c805d820ba3481c943cb..537683d363e53c9d5824c08e957f803af2ca986c 100644 (file)
@@ -74,10 +74,11 @@ parse_rr(isc_lex_t *lex, isc_mem_t *mctx, char *owner, dns_name_t *origin,
        isc_buffer_add(&b, strlen(owner));
        ret = dns_name_fromtext(dname, &b, dns_rootname, 0);
        if (ret != ISC_R_SUCCESS) {
-               return ret;
+               goto cleanup;
        }
        if (dns_name_compare(dname, origin) != 0) {
-               return DNS_R_BADOWNERNAME;
+               ret = DNS_R_BADOWNERNAME;
+               goto cleanup;
        }
        isc_buffer_clear(&b);