From beee60d2c34f7d72afd8d795416b431929c87071 Mon Sep 17 00:00:00 2001 From: Filip Tehlar Date: Fri, 3 Apr 2020 12:14:29 +0000 Subject: ipsec: fix buffer alloc Type: fix Change-Id: I0f12c19b79df19b692f18ac13d6c32341853b764 Signed-off-by: Filip Tehlar --- src/vnet/ipsec/esp_decrypt.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/vnet/ipsec') diff --git a/src/vnet/ipsec/esp_decrypt.c b/src/vnet/ipsec/esp_decrypt.c index 80b3246f925..0d14fe56740 100644 --- a/src/vnet/ipsec/esp_decrypt.c +++ b/src/vnet/ipsec/esp_decrypt.c @@ -527,7 +527,13 @@ esp_decrypt_inline (vlib_main_t * vm, { /* no space, need to allocate new buffer */ u32 tmp_bi = 0; - vlib_buffer_alloc (vm, &tmp_bi, 1); + if (1 != vlib_buffer_alloc (vm, &tmp_bi, 1)) + { + b[0]->error = node->errors + [ESP_DECRYPT_ERROR_NO_BUFFERS]; + next[0] = ESP_DECRYPT_NEXT_DROP; + goto next; + } tmp_b = vlib_get_buffer (vm, tmp_bi); esn = tmp_b->data; pd->free_buffer_index = tmp_bi; -- cgit 1.2.3-korg