From eb72c81e6ac422f2332c6e8410461b3c0c9067b2 Mon Sep 17 00:00:00 2001
From: Aram Sargsyan <aram@isc.org>
Date: Mon, 15 Aug 2022 11:40:21 +0000
Subject: [PATCH] Fix tkey.c:buildquery() function's error handling

Add the missing cleanup code.

(cherry picked from commit 4237ab9550eeaea7121e3e3392fd14c26b5150f0)
---
 lib/dns/tkey.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/lib/dns/tkey.c b/lib/dns/tkey.c
index 9259a513188..2ca78b8bd9b 100644
--- a/lib/dns/tkey.c
+++ b/lib/dns/tkey.c
@@ -1019,6 +1019,18 @@ failure:
 	if (dynbuf != NULL) {
 		isc_buffer_free(&dynbuf);
 	}
+	if (rdata != NULL) {
+		dns_message_puttemprdata(msg, &rdata);
+	}
+	if (tkeylist != NULL) {
+		dns_message_puttemprdatalist(msg, &tkeylist);
+	}
+	if (tkeyset != NULL) {
+		if (dns_rdataset_isassociated(tkeyset)) {
+			dns_rdataset_disassociate(tkeyset);
+		}
+		dns_message_puttemprdataset(msg, &tkeyset);
+	}
 	return (result);
 }
 
-- 
GitLab

