X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fpunt_api.c;h=2acf8265dc1f8072e77b731e6ef0670e828dddf9;hp=077b1ac3a6941dd8ac2192ccfcaf6dcb98d53741;hb=7dd63e5cc;hpb=f14578972a21fe10cd3ff72aaaaea43da4d74d20 diff --git a/src/vnet/ip/punt_api.c b/src/vnet/ip/punt_api.c index 077b1ac3a69..2acf8265dc1 100644 --- a/src/vnet/ip/punt_api.c +++ b/src/vnet/ip/punt_api.c @@ -89,7 +89,11 @@ vl_api_punt_l4_decode (const vl_api_punt_l4_t * in, punt_l4_t * out) int rv; rv = ip_address_family_decode (in->af, &out->af); - rv += ip_proto_decode (in->protocol, &out->protocol); + if (rv < 0) + return (rv); + rv = ip_proto_decode (in->protocol, &out->protocol); + if (rv < 0) + return (rv); out->port = clib_net_to_host_u16 (in->port); return (rv); @@ -102,7 +106,9 @@ vl_api_punt_ip_proto_decode (const vl_api_punt_ip_proto_t * in, int rv; rv = ip_address_family_decode (in->af, &out->af); - rv += ip_proto_decode (in->protocol, &out->protocol); + if (rv < 0) + return (rv); + rv = ip_proto_decode (in->protocol, &out->protocol); return (rv); }