diff options
author | Gerald Combs <gerald@wireshark.org> | 2022-05-03 19:08:34 -0700 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2022-05-03 19:29:51 -0700 |
commit | f85d4a5763e4ba1f858f29861d59f78c8fcd90d3 (patch) | |
tree | 5bf62cb2c9f5077e16d91eb5cc1921b0d53d4d99 /plugins | |
parent | 000e4ec75e7e5a1eca0d0caa9b87d0798555f158 (diff) |
Falco Bridge: Fix a couple of bugs.
Make sure a pointer is valid and only initialize our sinsp span once.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/epan/falco_bridge/packet-falco-bridge.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/plugins/epan/falco_bridge/packet-falco-bridge.c b/plugins/epan/falco_bridge/packet-falco-bridge.c index f475726e6b..486bb40461 100644 --- a/plugins/epan/falco_bridge/packet-falco-bridge.c +++ b/plugins/epan/falco_bridge/packet-falco-bridge.c @@ -183,6 +183,7 @@ configure_plugin(bridge_info* bi, char* config _U_) if (addr_fields) { bi->hf_id_to_addr_id = (int *)wmem_alloc(wmem_epan_scope(), bi->visible_fields * sizeof(int)); + memset(bi->hf_id_to_addr_id, -1, bi->visible_fields); bi->hf_v4 = (hf_register_info*)wmem_alloc(wmem_epan_scope(), addr_fields * sizeof(hf_register_info)); bi->hf_v4_ids = (int*)wmem_alloc(wmem_epan_scope(), addr_fields * sizeof(int)); bi->hf_v6 = (hf_register_info*)wmem_alloc(wmem_epan_scope(), addr_fields * sizeof(hf_register_info)); @@ -295,8 +296,6 @@ configure_plugin(bridge_info* bi, char* config _U_) *ri_v6 = finfo_v6; addr_fld_cnt++; - } else { - bi->hf_id_to_addr_id[fld_cnt] = -1; } fld_cnt++; } @@ -317,8 +316,6 @@ import_plugin(char* fname) nbridges++; bridge_info* bi = &bridges[nbridges - 1]; - sinsp_span = create_sinsp_span(); - char *err_str = create_sinsp_source(sinsp_span, fname, &(bi->ssi)); if (err_str) { nbridges--; @@ -392,6 +389,8 @@ proto_register_falcoplugin(void) ws_dir_close(dir); } + sinsp_span = create_sinsp_span(); + bridges = g_new0(bridge_info, nbridges); nbridges = 0; |