]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - net/tipc/monitor.c
Merge remote-tracking branches 'asoc/topic/inntel', 'asoc/topic/input', 'asoc/topic...
[mirror_ubuntu-bionic-kernel.git] / net / tipc / monitor.c
index ed97a5876ebef128937906d4115d3c1db6d16998..9e109bb1a2071836323d41b77e903644b28c7b73 100644 (file)
@@ -455,14 +455,14 @@ void tipc_mon_rcv(struct net *net, void *data, u16 dlen, u32 addr,
        int i, applied_bef;
 
        state->probing = false;
-       if (!dlen)
-               return;
 
        /* Sanity check received domain record */
-       if ((dlen < new_dlen) || ntohs(arrv_dom->len) != new_dlen) {
-               pr_warn_ratelimited("Received illegal domain record\n");
+       if (dlen < dom_rec_len(arrv_dom, 0))
+               return;
+       if (dlen != dom_rec_len(arrv_dom, new_member_cnt))
+               return;
+       if ((dlen < new_dlen) || ntohs(arrv_dom->len) != new_dlen)
                return;
-       }
 
        /* Synch generation numbers with peer if link just came up */
        if (!state->synched) {