aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2017-08-09 17:50:09 -0700
committerNeale Ranns <nranns@cisco.com>2017-08-10 18:32:51 +0000
commitbae851fcabb9f90a70d00cab5ce55d597cc20166 (patch)
treef0c8144896cd5fef4a07b52ff679f50a5115f639 /src/vnet
parent4eed4568b3d7f4455566c7b0ec1fef376a287ba3 (diff)
Fix LISP cp buffer leakage
Change-Id: Id7e0f967cc510f0b45f043f74493854083ac67ae Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet')
-rw-r--r--src/vnet/lisp-cp/control.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/vnet/lisp-cp/control.c b/src/vnet/lisp-cp/control.c
index 72af525b111..59a45ed8910 100644
--- a/src/vnet/lisp-cp/control.c
+++ b/src/vnet/lisp-cp/control.c
@@ -3136,8 +3136,9 @@ lisp_cp_lookup_inline (vlib_main_t * vm,
to_next,
n_left_to_next, pi0,
next0);
+ continue;
}
- continue;
+ goto done;
}
/* if we have remote mapping for destination already in map-chache
@@ -3180,6 +3181,7 @@ lisp_cp_lookup_inline (vlib_main_t * vm,
pkts_mapped++;
}
+ done:
b0->error = node->errors[LISP_CP_LOOKUP_ERROR_DROP];
if (PREDICT_FALSE (b0->flags & VLIB_BUFFER_IS_TRACED))
{