]> git.proxmox.com Git - mirror_frr.git/commitdiff
bfdd: fix coverity scan issues (1472630, 1472623)
authorRafael Zalamena <rzalamena@opensourcerouting.org>
Wed, 15 Aug 2018 21:00:24 +0000 (18:00 -0300)
committerRafael Zalamena <rzalamena@opensourcerouting.org>
Thu, 16 Aug 2018 21:32:16 +0000 (18:32 -0300)
Always initialize/santize string before calling the `read` function. It
ensures that the debug function will always pick up the right thing.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
bfdd/bfd_packet.c

index 8d74c5c234b45ceba19131746ef426d344b6cd13..543181a12a1af719934ed537e132ec685910621e 100644 (file)
@@ -718,12 +718,6 @@ static ssize_t bfd_recv_ipv4(int sd, bool is_mhop, char *port, size_t portlen,
        msghdr.msg_control = cmsgbuf;
        msghdr.msg_controllen = sizeof(cmsgbuf);
 
-       /* Sanitize input/output. */
-       memset(port, 0, portlen);
-       memset(vrfname, 0, vrfnamelen);
-       memset(local, 0, sizeof(*local));
-       memset(peer, 0, sizeof(*peer));
-
        mlen = recvmsg(sd, &msghdr, MSG_DONTWAIT);
        if (mlen == -1) {
                if (errno != EAGAIN)
@@ -843,12 +837,6 @@ ssize_t bfd_recv_ipv6(int sd, bool is_mhop, char *port, size_t portlen,
        msghdr6.msg_control = cmsgbuf6;
        msghdr6.msg_controllen = sizeof(cmsgbuf6);
 
-       /* Sanitize input/output. */
-       memset(port, 0, portlen);
-       memset(vrfname, 0, vrfnamelen);
-       memset(local, 0, sizeof(*local));
-       memset(peer, 0, sizeof(*peer));
-
        mlen = recvmsg(sd, &msghdr6, MSG_DONTWAIT);
        if (mlen == -1) {
                if (errno != EAGAIN)
@@ -983,6 +971,12 @@ int bfd_recv_cb(struct thread *t)
                return 0;
        }
 
+       /* Sanitize input/output. */
+       memset(port, 0, sizeof(port));
+       memset(vrfname, 0, sizeof(vrfname));
+       memset(&local, 0, sizeof(local));
+       memset(&peer, 0, sizeof(peer));
+
        /* Handle control packets. */
        is_mhop = is_vxlan = false;
        if (sd == bglobal.bg_shop || sd == bglobal.bg_mhop) {