Skip to content

Commit ffca90f

Browse files
authored
Removing redundant length case
1 parent de92d51 commit ffca90f

1 file changed

Lines changed: 2 additions & 12 deletions

File tree

Svc/Ccsds/SpacePacketDeframer/SpacePacketDeframer.cpp

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,8 @@ void SpacePacketDeframer ::dataIn_handler(FwIndexType portNum, Fw::Buffer& data,
6464

6565
// Widen to U32 before adding 1 to prevent U16 truncation to 0 when packetDataLength == 0xFFFF (max U16 value).
6666
// This is a undefined behavior condition in C++.
67-
const U32 pkt_length_wide = static_cast<U32>(header.get_packetDataLength()) + 1U;
68-
if (pkt_length_wide > static_cast<U32>(data.getSize() - SpacePacketHeader::SERIALIZED_SIZE)) {
69-
FwSizeType maxDataAvailable = data.getSize() - SpacePacketHeader::SERIALIZED_SIZE;
70-
this->log_WARNING_HI_InvalidLength(static_cast<U16>(pkt_length_wide), maxDataAvailable);
71-
if (this->isConnected_errorNotify_OutputPort(0)) {
72-
this->errorNotify_out(0, Svc::Ccsds::FrameError::SP_INVALID_LENGTH);
73-
}
74-
this->dataReturnOut_out(0, data, context);
75-
return;
76-
}
77-
const U16 pkt_length = static_cast<U16>(pkt_length_wide);
78-
if (pkt_length > data.getSize() - SpacePacketHeader::SERIALIZED_SIZE) {
67+
const U32 pkt_length = static_cast<U32>(header.get_packetDataLength()) + 1U;
68+
if ((pkt_length > data.getSize() - SpacePacketHeader::SERIALIZED_SIZE) || (pkt_length > std::numeric_limits<FwSizeType>::max())) {
7969
FwSizeType maxDataAvailable = data.getSize() - SpacePacketHeader::SERIALIZED_SIZE;
8070
this->log_WARNING_HI_InvalidLength(pkt_length, maxDataAvailable);
8171
if (this->isConnected_errorNotify_OutputPort(0)) {

0 commit comments

Comments
 (0)