Ignore empty messages for clutter filter bypass map and VCP data

This commit is contained in:
Dan Paulat 2024-01-23 23:26:06 -06:00
parent 2fd7dca8a4
commit af1b42e7b0
2 changed files with 28 additions and 17 deletions

View file

@ -78,19 +78,22 @@ bool ClutterFilterBypassMap::Parse(std::istream& is)
if (p->mapGenerationDate_ < 1) if (p->mapGenerationDate_ < 1)
{ {
logger_->warn("Invalid date: {}", p->mapGenerationDate_); logger_->trace("Ignoring empty message");
messageValid = false; messageValid = false;
} }
if (p->mapGenerationTime_ > 1440) else
{ {
logger_->warn("Invalid time: {}", p->mapGenerationTime_); if (p->mapGenerationTime_ > 1440)
messageValid = false; {
} logger_->warn("Invalid time: {}", p->mapGenerationTime_);
if (numElevationSegments < 1 || numElevationSegments > 5) messageValid = false;
{ }
logger_->warn("Invalid number of elevation segments: {}", if (numElevationSegments < 1 || numElevationSegments > 5)
numElevationSegments); {
messageValid = false; logger_->warn("Invalid number of elevation segments: {}",
numElevationSegments);
messageValid = false;
}
} }
if (!messageValid) if (!messageValid)

View file

@ -102,7 +102,7 @@ VolumeCoveragePatternData::VolumeCoveragePatternData() :
VolumeCoveragePatternData::~VolumeCoveragePatternData() = default; VolumeCoveragePatternData::~VolumeCoveragePatternData() = default;
VolumeCoveragePatternData::VolumeCoveragePatternData( VolumeCoveragePatternData::VolumeCoveragePatternData(
VolumeCoveragePatternData&&) noexcept = default; VolumeCoveragePatternData&&) noexcept = default;
VolumeCoveragePatternData& VolumeCoveragePatternData::operator=( VolumeCoveragePatternData& VolumeCoveragePatternData::operator=(
VolumeCoveragePatternData&&) noexcept = default; VolumeCoveragePatternData&&) noexcept = default;
@ -419,16 +419,24 @@ bool VolumeCoveragePatternData::Parse(std::istream& is)
p->vcpSequencing_ = ntohs(p->vcpSequencing_); p->vcpSequencing_ = ntohs(p->vcpSequencing_);
p->vcpSupplementalData_ = ntohs(p->vcpSupplementalData_); p->vcpSupplementalData_ = ntohs(p->vcpSupplementalData_);
if (messageSize < 34 || messageSize > 747) if (messageSize == 0)
{ {
logger_->warn("Invalid message size: {}", messageSize); logger_->trace("Ignoring empty message");
messageValid = false; messageValid = false;
} }
if (numberOfElevationCuts < 1 || numberOfElevationCuts > 32) else
{ {
logger_->warn("Invalid number of elevation cuts: {}", if (messageSize < 34 || messageSize > 747)
numberOfElevationCuts); {
messageValid = false; logger_->warn("Invalid message size: {}", messageSize);
messageValid = false;
}
if (numberOfElevationCuts < 1 || numberOfElevationCuts > 32)
{
logger_->warn("Invalid number of elevation cuts: {}",
numberOfElevationCuts);
messageValid = false;
}
} }
if (!messageValid) if (!messageValid)