]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #3382: smtp: SMTPData initialization changed from memset to constructor
authorMasud Hasan (mashasan) <mashasan@cisco.com>
Tue, 19 Apr 2022 12:49:26 +0000 (12:49 +0000)
committerMasud Hasan (mashasan) <mashasan@cisco.com>
Tue, 19 Apr 2022 12:49:26 +0000 (12:49 +0000)
Merge in SNORT/snort3 from ~OSTEPANO/snort3:smtp_structure_initializer to master

Squashed commit of the following:

commit 60fb39c75b9b86611d80d78ce96858d8e40a062a
Author: ostepano <ostepano@cisco.com>
Date:   Mon Apr 18 17:10:40 2022 -0400

    smtp: SMTPData initialization changed from memset to constructor

src/service_inspectors/smtp/smtp.cc
src/service_inspectors/smtp/smtp.h

index f54cc03b5786eee681ec12b050b3289560e97d12..c27691e05e3fa2f25334f7cac6a5862afc1182d0 100644 (file)
@@ -201,7 +201,6 @@ static void SMTP_ResetState(Flow*);
 
 SmtpFlowData::SmtpFlowData() : FlowData(inspector_id)
 {
-    memset(&session, 0, sizeof(session));
     smtpstats.concurrent_sessions++;
     if (smtpstats.max_concurrent_sessions < smtpstats.concurrent_sessions)
         smtpstats.max_concurrent_sessions = smtpstats.concurrent_sessions;
index e1a3490f29ff0e85626774db3681971d1a121858..0272a049b57b1d098cb32b3643e29f13ae76cbee 100644 (file)
@@ -158,15 +158,27 @@ private:
 
 struct SMTPData
 {
+    //Initialize structure with default values
+    SMTPData() : state{0},
+                 state_flags{0},
+                 session_flags{0},
+                 dat_chunk{0},
+                 mime_ssn{nullptr},
+                 auth_name{nullptr},
+                 client_requested_starttls{false},
+                 pipelined_command_counter{0},
+                 server_accepted_starttls{false}
+    { }
+
     int state;
     int state_flags;
     int session_flags;
     uint32_t dat_chunk;
     SmtpMime* mime_ssn;
     SMTPAuthName* auth_name;
-    bool client_requested_starttls = false;
-    size_t pipelined_command_counter = 0;
-    bool server_accepted_starttls = false;
+    bool client_requested_starttls;
+    size_t pipelined_command_counter;
+    bool server_accepted_starttls;
 };
 
 class SmtpFlowData : public snort::FlowData