[zebra] Fix CID #104, check addr for null, and #18, check nexthop type args
2006-07-02 Paul Jakma <paul.jakma@sun.com>
* rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not
proceed if addr is NULL.
* zebra_rib.c: (static_add_ipv6) Fix CID #18, double check
required arguments are supplied for the given nexthop type.
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index 330bce7..9851cf4 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -2145,6 +2145,14 @@
stable = vrf_static_table (AFI_IP6, SAFI_UNICAST, vrf_id);
if (! stable)
return -1;
+
+ if (!gate &&
+ (type == STATIC_IPV6_GATEWAY || type == STATIC_IPV6_GATEWAY_IFNAME))
+ return -1;
+
+ if (!ifname &&
+ (type == STATIC_IPV6_GATEWAY_IFNAME || type == STATIC_IPV6_IFNAME))
+ return -1;
/* Lookup static route prefix. */
rn = route_node_get (stable, p);