diff --git a/gatchat/ppp_ipcp.c b/gatchat/ppp_ipcp.c index 760ef660..439ad31b 100644 --- a/gatchat/ppp_ipcp.c +++ b/gatchat/ppp_ipcp.c @@ -396,6 +396,7 @@ static enum rcr_result ipcp_client_rcr(struct ipcp_data *ipcp, switch (type) { case IP_ADDRESS: memcpy(&ipcp->peer_addr, data, 4); + if (ipcp->peer_addr != 0) break; diff --git a/gatchat/ppp_ipv6cp.c b/gatchat/ppp_ipv6cp.c index ae960e23..ecfd5702 100644 --- a/gatchat/ppp_ipv6cp.c +++ b/gatchat/ppp_ipv6cp.c @@ -186,6 +186,7 @@ static enum rcr_result ipv6cp_client_rcr(struct ipv6cp_data *ipv6cp, case IPV6CP_INTERFACE_ID: memcpy(&ipv6cp->peer_addr, data, sizeof(ipv6cp->peer_addr)); + if (ipv6cp->peer_addr != 0) break; /*