interface: use the correct condition for checking if the pcap fd is open 93/21993/4
authorAndrew Yourtchenko <ayourtch@gmail.com>
Wed, 11 Sep 2019 14:14:43 +0000 (14:14 +0000)
committerDamjan Marion <dmarion@me.com>
Mon, 23 Sep 2019 12:42:38 +0000 (12:42 +0000)
commit4da1506d39eb8f67ed2c48c76916bb6bcca6fbf1
tree10770efa0d803802cd074ea6014954c50625ff88
parent1c887d9362f6c819e7fcf5b3bdecbeb386c9152b
interface: use the correct condition for checking if the pcap fd is open

The 9af7e2e87e used a comparison that fd is >= 0 to check that
the pcap needs closing. While the pcap_close() function does
reset the file descriptor to -1, the freshly initialized structure
has it equal to 0.

This causes the VPP to close stdin if the packets are being seen
on pg interface without the capture file being opened.
This triggers the vpp attempting to read from STDIN
(another bug), which results in running out of memory.

Change-Id: I11d61422701500a9b3e0dd52d59383f297d57f54
Type: fix
Fixes: 9af7e2e87e
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
src/vlib/main.c
src/vnet/interface_cli.c
src/vnet/interface_output.c
src/vnet/pg/output.c