From: Mark Andrews Date: Tue, 12 Mar 2024 23:15:03 +0000 (+1100) Subject: Only call memmove if the rdata length is non zero X-Git-Tag: v9.19.23~40^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=228cc557fe4ca29e34eccb3a1846d7f754879aed;p=thirdparty%2Fbind9.git Only call memmove if the rdata length is non zero This avoids undefined behaviour on zero length rdata where the data pointer is NULL. --- diff --git a/lib/dns/rdataslab.c b/lib/dns/rdataslab.c index f7b51df1472..941e60a3181 100644 --- a/lib/dns/rdataslab.c +++ b/lib/dns/rdataslab.c @@ -361,7 +361,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; }