From 2c304859b959bd3d8b62a491288a29bc4ebfdca0 Mon Sep 17 00:00:00 2001 From: Kevin Matz Date: Fri, 13 Aug 2021 12:02:06 -0400 Subject: [PATCH] validate flags on stream input --- rdmnet/pdu.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/rdmnet/pdu.h b/rdmnet/pdu.h index c9e79c3..e3c609c 100644 --- a/rdmnet/pdu.h +++ b/rdmnet/pdu.h @@ -35,11 +35,15 @@ public: : ACN::PDU::Pdu(vector_size) { // RDMnet PDU flags always 0xF - flags_.hasVector = true; - flags_.hasLength = true; - flags_.hasHeader = true; - flags_.hasData = true; + flags_.set(0xF0); } + + virtual void iStream(ACN::PDU::Stream stream) override + { + ACN::PDU::Pdu::iStream(stream); + if ((uint8_t)flags_ != 0xf0) + stream_->setstate(std::ios_base::failbit); + }; };