Browse Source

2003-11-17 Jay Fenlason <fenlason@redhat.com>

	* zebra/rt_netlink.c: netlink_parse_info() ignore messages which are
	  not from kernel. Reported to RH by Herbert Xu. See
	  http://rhn.redhat.com/errata/RHSA-2003-307.html and CAN-2003-0858.
paul 19 years ago
parent
commit
b84d3a1b6e
1 changed files with 7 additions and 0 deletions
  1. 7 0
      zebra/rt_netlink.c

+ 7 - 0
zebra/rt_netlink.c

@@ -290,6 +290,13 @@ netlink_parse_info (int (*filter) (struct sockaddr_nl *, struct nlmsghdr *),
                 nl->name, msg.msg_namelen);
           return -1;
         }
+      
+      /* JF: Ignore messages that aren't from the kernel */
+      if ( snl.nl_pid != 0 )
+        {
+          zlog ( NULL, LOG_ERR, "Ignoring message from pid %u", snl.nl_pid );
+          continue;
+        }
 
       for (h = (struct nlmsghdr *) buf; NLMSG_OK (h, status);
            h = NLMSG_NEXT (h, status))