]> 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 08:30:51 +0000 (10:30 +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.

lib/dns/message.c

index 830d452a10ecebddcc9c13393323df6a775cbdd2..0995821fb686bb80b76568ca6270b4ffa9e845a6 100644 (file)
@@ -3174,7 +3174,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,