diff options
author | Steven <sluong@cisco.com> | 2017-09-28 16:38:56 -0700 |
---|---|---|
committer | Steven <sluong@cisco.com> | 2017-09-28 16:38:56 -0700 |
commit | 0ff5c563d5048991dbd02a3892dccde8305a7e30 (patch) | |
tree | d7a86fe93f5aed2990d6684028362d44ff73ae8a /src/vnet/lldp/lldp_output.c | |
parent | 905e250baf982aa5b81265d8f88ec022ef8666ce (diff) |
cdp/lldp: punt for no buffer
When making a call to vlib_packet_template_get_packet(), it
is possible to get back a NULL if the system runs out of buffer.
This can happen when there is buffer leaks. But don't crash
just because we run out of buffers, just punt.
Change-Id: Ie90ea41f3dda6e583d48959cbd18ff124158d7f8
Signed-off-by: Steven <sluong@cisco.com>
Diffstat (limited to 'src/vnet/lldp/lldp_output.c')
-rw-r--r-- | src/vnet/lldp/lldp_output.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vnet/lldp/lldp_output.c b/src/vnet/lldp/lldp_output.c index 950b79aebc6..8698ec976ac 100644 --- a/src/vnet/lldp/lldp_output.c +++ b/src/vnet/lldp/lldp_output.c @@ -145,6 +145,9 @@ lldp_send_ethernet (lldp_main_t * lm, lldp_intf_t * n, int shutdown) */ h0 = vlib_packet_template_get_packet (vm, &lm->packet_template, &bi0); + if (!h0) + return; + /* Add the interface's ethernet source address */ hw = vnet_get_hw_interface (vnm, n->hw_if_index); |