cache: cache_answer: fix off by one
[project/mdnsd.git] / cache.c
diff --git a/cache.c b/cache.c
index b2e5568f517a36d8a1dce668882f0c00d17e7f02..ea6a4c8ab656699b2855fede48742e5e8f73d18b 100644 (file)
--- a/cache.c
+++ b/cache.c
@@ -303,7 +303,7 @@ void cache_answer(struct interface *iface, struct sockaddr *from, uint8_t *base,
                if (rdlength <= 2)
                        return;
 
-               memcpy(rdata_buffer, &rdata[1], rdlength);
+               memcpy(rdata_buffer, &rdata[1], rdlength-1);
                rdata_buffer[rdlength] = rdata_buffer[rdlength + 1] = '\0';
                tlen = rdlength + 1;
                p = &rdata_buffer[*rdata];