Only call memmove if the rdata length is non zero

This avoids undefined behaviour on zero length rdata where the
data pointer is NULL.

(cherry picked from commit 228cc557fe)
This commit is contained in:
Mark Andrews 2024-03-13 10:15:03 +11:00
parent 0ea08e6dc0
commit 3fadd9efec

View file

@ -320,7 +320,9 @@ dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx,
? DNS_RDATASLAB_OFFLINE
: 0;
}
memmove(rawbuf, x[i].rdata.data, x[i].rdata.length);
if (x[i].rdata.length != 0) {
memmove(rawbuf, x[i].rdata.data, x[i].rdata.length);
}
rawbuf += x[i].rdata.length;
}