Skip to content

Commit a975808

Browse files
committed
Move common validation before branch point to avoid redundancy
1 parent 673f255 commit a975808

File tree

1 file changed

+12
-24
lines changed

1 file changed

+12
-24
lines changed

Packet++/src/Layer.cpp

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,14 @@ namespace pcpp
6161
return false;
6262
}
6363

64-
if (m_Packet == nullptr)
64+
if ((size_t)offsetInLayer > m_DataLen)
6565
{
66-
if ((size_t)offsetInLayer > m_DataLen)
67-
{
68-
PCPP_LOG_ERROR("Requested offset is larger than data length");
69-
return false;
70-
}
66+
PCPP_LOG_ERROR("Requested offset is larger than data length");
67+
return false;
68+
}
7169

70+
if (m_Packet == nullptr)
71+
{
7272
uint8_t* newData = new uint8_t[m_DataLen + numOfBytesToExtend];
7373
memcpy(newData, m_Data, offsetInLayer);
7474
memcpy(newData + offsetInLayer + numOfBytesToExtend, m_Data + offsetInLayer, m_DataLen - offsetInLayer);
@@ -78,12 +78,6 @@ namespace pcpp
7878
return true;
7979
}
8080

81-
if ((size_t)offsetInLayer > m_DataLen)
82-
{
83-
PCPP_LOG_ERROR("Requested offset is larger than data length");
84-
return false;
85-
}
86-
8781
if (m_Data - m_Packet->m_RawPacket->getRawData() + (ptrdiff_t)offsetInLayer
8882
> (ptrdiff_t)m_Packet->m_RawPacket->getRawDataLen())
8983
{
@@ -108,14 +102,14 @@ namespace pcpp
108102
return false;
109103
}
110104

111-
if (m_Packet == nullptr)
105+
if ((size_t)offsetInLayer >= m_DataLen)
112106
{
113-
if ((size_t)offsetInLayer >= m_DataLen)
114-
{
115-
PCPP_LOG_ERROR("Requested offset is larger than data length");
116-
return false;
117-
}
107+
PCPP_LOG_ERROR("Requested offset is larger than data length");
108+
return false;
109+
}
118110

111+
if (m_Packet == nullptr)
112+
{
119113
uint8_t* newData = new uint8_t[m_DataLen - numOfBytesToShorten];
120114
memcpy(newData, m_Data, offsetInLayer);
121115
memcpy(newData + offsetInLayer, m_Data + offsetInLayer + numOfBytesToShorten,
@@ -126,12 +120,6 @@ namespace pcpp
126120
return true;
127121
}
128122

129-
if ((size_t)offsetInLayer >= m_DataLen)
130-
{
131-
PCPP_LOG_ERROR("Requested offset is larger than data length");
132-
return false;
133-
}
134-
135123
if ((size_t)offsetInLayer + numOfBytesToShorten > m_DataLen)
136124
{
137125
PCPP_LOG_ERROR("Requested number of bytes to shorten is larger than data length");

0 commit comments

Comments
 (0)