ipfix-export: Fix frame leak in flow_report_process_send() 28/36328/1
authorJon Loeliger <jdl@netgate.com>
Thu, 2 Jun 2022 20:18:54 +0000 (15:18 -0500)
committerJon Loeliger <jdl@netgate.com>
Thu, 2 Jun 2022 20:27:53 +0000 (15:27 -0500)
commiteaa83c0439c13b76525224267c23d0cf52a6668b
tree1a4b1a9e8e42c3be942704f70a3765ebe4fff723
parent512223490a247d792c27f3bfe6ffe49e6dfb71fa
ipfix-export: Fix frame leak in flow_report_process_send()

The flow_report_process_send() function always allocates a frame.
However, when no template_send is needed, template_bi is ~0.
When this happens, no vectors are placed in the frame.  When
the frame is then "put", a check for n_vectors == 0 prevents
the frame from actually being placed back on the free list.
Fix that by using a direct call to vlib_frame_free() when
there are no frame vctors.

Type: fix
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Change-Id: I936b5cea4cb3c358247c3d2e1a77d034a322ea76
src/vnet/ipfix-export/flow_report.c