From 7f68af1b88f1e8edbb78cd5d9404150e237b29e5 Mon Sep 17 00:00:00 2001
From: Robert Edmonds <edmonds@users.noreply.github.com>
Date: Wed, 5 Jan 2022 16:46:04 -0500
Subject: [PATCH] pkt: initialize 'lower_qname' in knot_pkt_init_response()

---
 src/libknot/packet/pkt.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/libknot/packet/pkt.c b/src/libknot/packet/pkt.c
index e4fbcc685d..00f975b4ee 100644
--- a/src/libknot/packet/pkt.c
+++ b/src/libknot/packet/pkt.c
@@ -358,6 +358,18 @@ int knot_pkt_init_response(knot_pkt_t *pkt, const knot_pkt_t *query)
 	/* Clear payload. */
 	payload_clear(pkt);
 
+	/* Allocate lower_qname field. */
+	pkt->lower_qname = mm_alloc(&pkt->mm, pkt->qname_size);
+	if (pkt->lower_qname == NULL) {
+		return KNOT_ENOMEM;
+	}
+
+	/* Copy QNAME and canonicalize to lowercase. */
+	memcpy(pkt->lower_qname,
+	       pkt->wire + KNOT_WIRE_HEADER_SIZE,
+	       pkt->qname_size);
+	knot_dname_to_lower(pkt->lower_qname);
+
 	/* Clear compression context. */
 	compr_clear(&pkt->compr);
 
-- 
GitLab