]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Only call memmove if the rdata length is non zero
authorMark Andrews <marka@isc.org>
Tue, 12 Mar 2024 23:15:03 +0000 (10:15 +1100)
committerMark Andrews <marka@isc.org>
Wed, 13 Mar 2024 23:04:56 +0000 (23:04 +0000)
This avoids undefined behaviour on zero length rdata where the
data pointer is NULL.

lib/dns/rdataslab.c

index f7b51df14729f39e271ceca0a803ccc0a4832f4f..941e60a3181285c9e2e25ad14fc6d12f59bc2085 100644 (file)
@@ -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;
        }