]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
NXT: fix fromwire bitmap checks
authorMark Andrews <marka@isc.org>
Thu, 13 Aug 2020 02:08:50 +0000 (12:08 +1000)
committerMark Andrews <marka@isc.org>
Thu, 13 Aug 2020 14:25:04 +0000 (00:25 +1000)
(cherry picked from commit 73dd8496558beea6f6097788e4c7c8ccb45d8c1a)

lib/dns/rdata/generic/nxt_30.c

index 2afc235045947dc3064c908e9b21a0561d013e75..62ad959722bb8b840e7ad596e911bbb594ff3c00 100644 (file)
@@ -134,9 +134,11 @@ fromwire_nxt(ARGS_FROMWIRE) {
        RETERR(dns_name_fromwire(&name, source, dctx, options, target));
 
        isc_buffer_activeregion(source, &sr);
-       if (sr.length > 0 && (sr.base[0] & 0x80) == 0 &&
-           ((sr.length > 16) || sr.base[sr.length - 1] == 0))
+       if (sr.length > 0 && ((sr.base[0] & 0x80) != 0 || sr.length > 16 ||
+                             sr.base[sr.length - 1] == 0))
+       {
                return (DNS_R_BADBITMAP);
+       }
        RETERR(mem_tobuffer(target, sr.base, sr.length));
        isc_buffer_forward(source, sr.length);
        return (ISC_R_SUCCESS);