PegCount v2_cls_inv_str_sz;
PegCount v2_cls_req_ftrkr_misng;
PegCount v2_cls_req_hdr_err;
+ PegCount v2_cls_rtrkr_ins_fail;
PegCount v2_tree_discn;
PegCount v2_tree_discn_ignored;
PegCount v2_tree_discn_inv_str_sz;
auto rtracker = new DCE2_Smb2RequestTracker(fileId_persistent);
rtracker->set_session_id(str->session_id);
rtracker->set_tree_id(ttr->get_tid());
- ssd->insertRtracker(mid, rtracker);
+ if (!ssd->insertRtracker(mid, rtracker))
+ {
+ dce2_smb_stats.v2_cls_rtrkr_ins_fail++;
+ SMB_DEBUG(dce_smb_trace, DEFAULT_TRACE_OPTION_ID, TRACE_ERROR_LEVEL,
+ DetectionEngine::get_current_packet(),
+ "%s_REQ: insert req tracker failed for mid %" PRIx64 "\n",
+ smb2_command_string[SMB2_COM_CLOSE], mid);
+ delete rtracker;
+ }
}
if (SMB2_SHARE_TYPE_DISK == ttr->get_share_type() and !ftracker->ignore
"total number of SMBv2 close request packets ignored due to missing file tracker" },
{ CountType::SUM, "v2_cls_req_hdr_err",
"total number of SMBv2 close request packets ignored due to corrupted header" },
+ { CountType::SUM, "v2_cls_rtrkr_ins_fail",
+ "total number of SMBv2 close request packets failed due to request tracker insert failure" },
{ CountType::SUM, "v2_tree_discn",
"total number of SMBv2 tree disconnect packets seen" },
{ CountType::SUM, "v2_tree_discn_ignored",