From 3189da5cdca67172a1f227a0d42c418416de6c59 Mon Sep 17 00:00:00 2001 From: Loic Poulain Date: Thu, 6 Jun 2019 17:14:20 +0200 Subject: [PATCH] net: mdns_resolver: Fix malformed MDNS response The query->len does not take 'Terminator' into account, shift over one byte to prevent overwriting it with next field (Type). This fixes mdns_resolver sample. Fixes: 87eb552dd27 (net/dns: Switch mdns responder to new net_pkt API) Signed-off-by: Loic Poulain --- subsys/net/lib/dns/mdns_responder.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/subsys/net/lib/dns/mdns_responder.c b/subsys/net/lib/dns/mdns_responder.c index 9bb63f180345..1ebc6ee64de2 100644 --- a/subsys/net/lib/dns/mdns_responder.c +++ b/subsys/net/lib/dns/mdns_responder.c @@ -154,6 +154,9 @@ static void add_answer(struct net_buf *query, enum dns_rr_type qtype, *prev = strlen(prev) - 1; } + /* terminator byte (0x00) */ + query->len += 1; + offset = DNS_MSG_HEADER_SIZE + query->len; UNALIGNED_PUT(htons(qtype), (u16_t *)(query->data+offset));