Fix segfault with incomplete connection

Add required HasField check before GetFieldAs call
This commit is contained in:
Luke Cesarz 2021-06-20 07:47:19 -07:00
parent 2de38750fd
commit d29a43fb79
2 changed files with 16 additions and 0 deletions

View file

@ -380,6 +380,10 @@ bool Reporter::PermitFlowWeird(const char* name,
bool Reporter::PermitExpiredConnWeird(const char* name, const RecordVal& conn_id)
{
if ( !conn_id.HasField("orig_h") || !conn_id.HasField("resp_h") ||
!conn_id.HasField("orig_p") || !conn_id.HadField("resp_p") )
return false;
auto conn_tuple = std::make_tuple(conn_id.GetFieldAs<AddrVal>("orig_h"),
conn_id.GetFieldAs<AddrVal>("resp_h"),
conn_id.GetFieldAs<PortVal>("orig_p")->Port(),