Skip to content

Commit 477b0c0

Browse files
authored
Add default member initializers to internal TcpReassembly structs. (#2107)
This commit also includes reordering of some member fields to improve packing.
1 parent eba55c9 commit 477b0c0

1 file changed

Lines changed: 12 additions & 19 deletions

File tree

Packet++/header/TcpReassembly.h

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <map>
99
#include <list>
1010
#include <time.h>
11+
#include <array>
1112
#include <functional>
1213

1314
/// @file
@@ -401,13 +402,11 @@ namespace pcpp
401402
private:
402403
struct TcpFragment
403404
{
404-
uint32_t sequence;
405-
size_t dataLength;
406-
uint8_t* data;
405+
uint32_t sequence = 0;
406+
size_t dataLength = 0;
407+
uint8_t* data = nullptr;
407408
std::chrono::time_point<std::chrono::high_resolution_clock> timestamp;
408409

409-
TcpFragment() : sequence(0), dataLength(0), data(nullptr)
410-
{}
411410
~TcpFragment()
412411
{
413412
delete[] data;
@@ -416,26 +415,20 @@ namespace pcpp
416415

417416
struct TcpOneSideData
418417
{
419-
IPAddress srcIP;
420-
uint16_t srcPort;
421-
uint32_t sequence;
422418
PointerVector<TcpFragment> tcpFragmentList;
423-
bool gotFinOrRst;
424-
425-
TcpOneSideData() : srcPort(0), sequence(0), gotFinOrRst(false)
426-
{}
419+
uint32_t sequence = 0;
420+
uint16_t srcPort = 0;
421+
IPAddress srcIP;
422+
bool gotFinOrRst = false;
427423
};
428424

429425
struct TcpReassemblyData
430426
{
431-
bool closed;
432-
int8_t numOfSides;
433-
int8_t prevSide;
434-
TcpOneSideData twoSides[2];
427+
bool closed = false;
428+
int8_t numOfSides = 0;
429+
int8_t prevSide = -1;
430+
std::array<TcpOneSideData, 2> twoSides;
435431
ConnectionData connData;
436-
437-
TcpReassemblyData() : closed(false), numOfSides(0), prevSide(-1)
438-
{}
439432
};
440433

441434
class OutOfOrderProcessingGuard

0 commit comments

Comments
 (0)