diff options
author | paul <paul> | 2006-07-02 16:38:54 +0000 |
---|---|---|
committer | paul <paul> | 2006-07-02 16:38:54 +0000 |
commit | 4d053e2fbb4e1af2d8907a61829cd9544015c91b (patch) | |
tree | 5394fdf8b4240012c9d33534d795e4d573a0f206 /zebra/zebra_rib.c | |
parent | 2be529bb18f576093bda58c8a2a458292af2082e (diff) | |
download | quagga-4d053e2fbb4e1af2d8907a61829cd9544015c91b.tar.bz2 quagga-4d053e2fbb4e1af2d8907a61829cd9544015c91b.tar.xz |
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.
Diffstat (limited to 'zebra/zebra_rib.c')
-rw-r--r-- | zebra/zebra_rib.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index 330bce77..9851cf44 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -2145,6 +2145,14 @@ static_add_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate, 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); |