aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2017-08-09 17:50:09 -0700
committerDave Barach <openvpp@barachs.net>2017-08-11 16:56:40 +0000
commit2e342af835d6d752c743371d08071ed2dda8e62e (patch)
treeaf334cf8241c694789c1188e719e2adc8a4dedd3
parentf2cfcf676e67a7ea80ce20a69826210eb97acba5 (diff)
Fix LISP cp buffer leakage
Change-Id: Id7e0f967cc510f0b45f043f74493854083ac67ae Signed-off-by: Florin Coras <fcoras@cisco.com>
-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 22b5c82c7ce..db60f4df52a 100644
--- a/src/vnet/lisp-cp/control.c
+++ b/src/vnet/lisp-cp/control.c
@@ -3095,8 +3095,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
@@ -3139,6 +3140,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))
{