]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix memory leak in dns_message_checksig() - SIG(0) sigs
authorPetr Špaček <pspacek@isc.org>
Mon, 19 Sep 2022 07:07:51 +0000 (09:07 +0200)
committerPetr Špaček <pspacek@isc.org>
Mon, 26 Sep 2022 10:01:40 +0000 (12:01 +0200)
Impact should be visible only in tests or tools because named never
uses view == NULL, which is a necessary condition to trigger this leak.

(cherry picked from commit 69256b3553d3b8b73b6fa4de9b030b39f1b96d34)

lib/dns/message.c

index 547a13fef26658ba7887532a68de36f1056506af..dfa5891ba024440341abb1df01d871e6edde282d 100644 (file)
@@ -3219,7 +3219,8 @@ dns_message_checksig(dns_message_t *msg, dns_view_t *view) {
 
                dns_rdataset_init(&keyset);
                if (view == NULL) {
-                       return (DNS_R_KEYUNAUTHORIZED);
+                       result = DNS_R_KEYUNAUTHORIZED;
+                       goto freesig;
                }
                result = dns_view_simplefind(view, &sig.signer,
                                             dns_rdatatype_key /* SIG(0) */, 0,