]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #2861 in SNORT/snort3 from ~DIPANDIT/snort3:smb_memtrack to master
authorBhargava Jandhyala (bjandhya) <bjandhya@cisco.com>
Tue, 27 Apr 2021 06:40:35 +0000 (06:40 +0000)
committerBhargava Jandhyala (bjandhya) <bjandhya@cisco.com>
Tue, 27 Apr 2021 06:40:35 +0000 (06:40 +0000)
Squashed commit of the following:

commit 865dfc8eeccc40795e559c9d8bb21f82700055b1
Author: Dipto Pandit (dipandit) <dipandit@cisco.com>
Date:   Fri Apr 23 09:51:38 2021 -0400

    dce_rpc: update memory tracking for smb session data

src/service_inspectors/dce_rpc/dce_smb1.cc
src/service_inspectors/dce_rpc/dce_smb1.h
src/service_inspectors/dce_rpc/dce_smb2.cc

index 71b9a304c0278401497a5fbde0cd22e5531a0806..93af9db84fb37bf22b3870e34df7f03113b071ab 100644 (file)
@@ -24,6 +24,8 @@
 
 #include "dce_smb1.h"
 
+#include "memory/memory_cap.h"
+
 #include "dce_smb_utils.h"
 
 using namespace snort;
@@ -314,6 +316,13 @@ Dce2Smb1SessionData::Dce2Smb1SessionData(const Packet* p,
     ssd.sd = sd;
     ssd.policy = policy;
     debug_logf(dce_smb_trace, p, "smb1 session created\n");
+    memory::MemoryCap::update_allocations(sizeof(*this));
+}
+
+Dce2Smb1SessionData::~Dce2Smb1SessionData()
+{
+    DCE2_SmbDataFree(&ssd);
+    memory::MemoryCap::update_deallocations(sizeof(*this));
 }
 
 void Dce2Smb1SessionData::process()
index 88bc18d92475c2bca8c2746ade0b5783a6b776fb..5efe913693b65475cddaf204099ce06aed3a042d 100644 (file)
@@ -273,8 +273,7 @@ class Dce2Smb1SessionData : public Dce2SmbSessionData
 public:
     Dce2Smb1SessionData() = delete;
     Dce2Smb1SessionData(const snort::Packet*, const dce2SmbProtoConf* proto);
-    ~Dce2Smb1SessionData() override
-    { DCE2_SmbDataFree(&ssd); }
+    ~Dce2Smb1SessionData() override;
     void process() override;
     void handle_retransmit(FilePosition, FileVerdict) override { }
     void set_reassembled_data(uint8_t*, uint16_t) override;
index 33262cb55134aa6209543589f884ab9b161a33a1..ae72bca5bd81f271a0a1ab75bdba7e09b9b7bf70 100644 (file)
@@ -105,6 +105,7 @@ Dce2Smb2SessionData::Dce2Smb2SessionData(const Packet* p,
     tcp_file_tracker = nullptr;
     flow_key = get_smb2_flow_key();
     debug_logf(dce_smb_trace, p, "smb2 session created\n");
+    memory::MemoryCap::update_allocations(sizeof(*this));
 }
 
 Dce2Smb2SessionData::~Dce2Smb2SessionData(void)
@@ -114,6 +115,7 @@ Dce2Smb2SessionData::~Dce2Smb2SessionData(void)
         if (it_session.second->detach_flow(flow_key))
             smb2_session_cache->remove(it_session.second->get_key());
     }
+    memory::MemoryCap::update_deallocations(sizeof(*this));
 }
 
 void Dce2Smb2SessionData::reset_matching_tcp_file_tracker(