diff --git a/bgpd/bgp_nexthop.c b/bgpd/bgp_nexthop.c index 7580f0eb07..ed7512cad2 100644 --- a/bgpd/bgp_nexthop.c +++ b/bgpd/bgp_nexthop.c @@ -211,9 +211,9 @@ bgp_connected_add (struct connected *ifc) addr = ifc->address; + p = *(CONNECTED_PREFIX(ifc)); if (addr->family == AF_INET) { - PREFIX_COPY_IPV4(&p, CONNECTED_PREFIX(ifc)); apply_mask_ipv4 ((struct prefix_ipv4 *) &p); if (prefix_ipv4_any ((struct prefix_ipv4 *) &p)) @@ -251,7 +251,6 @@ bgp_connected_add (struct connected *ifc) #ifdef HAVE_IPV6 else if (addr->family == AF_INET6) { - PREFIX_COPY_IPV6(&p, CONNECTED_PREFIX(ifc)); apply_mask_ipv6 ((struct prefix_ipv6 *) &p); if (IN6_IS_ADDR_UNSPECIFIED (&p.u.prefix6)) @@ -286,9 +285,9 @@ bgp_connected_delete (struct connected *ifc) addr = ifc->address; + p = *(CONNECTED_PREFIX(ifc)); if (addr->family == AF_INET) { - PREFIX_COPY_IPV4(&p, CONNECTED_PREFIX(ifc)); apply_mask_ipv4 ((struct prefix_ipv4 *) &p); if (prefix_ipv4_any ((struct prefix_ipv4 *) &p)) @@ -313,7 +312,6 @@ bgp_connected_delete (struct connected *ifc) #ifdef HAVE_IPV6 else if (addr->family == AF_INET6) { - PREFIX_COPY_IPV6(&p, CONNECTED_PREFIX(ifc)); apply_mask_ipv6 ((struct prefix_ipv6 *) &p); if (IN6_IS_ADDR_UNSPECIFIED (&p.u.prefix6)) diff --git a/ripd/ripd.c b/ripd/ripd.c index fc5b65a0c5..2524588ee0 100644 --- a/ripd/ripd.c +++ b/ripd/ripd.c @@ -1108,7 +1108,8 @@ rip_response_process (struct rip_packet *packet, int size, struct prefix_ipv4 ifaddr; struct prefix_ipv4 ifaddrclass; int subnetted; - + + memset(&ifaddr, 0, sizeof(ifaddr)); /* We don't know yet. */ subnetted = -1;