diff --git a/src/drivers/gnss/septentrio/sbf/decoder.cpp b/src/drivers/gnss/septentrio/sbf/decoder.cpp index 318a5c4db9..33f180a159 100644 --- a/src/drivers/gnss/septentrio/sbf/decoder.cpp +++ b/src/drivers/gnss/septentrio/sbf/decoder.cpp @@ -243,7 +243,7 @@ bool Decoder::done() const bool Decoder::can_parse() const { - return done() + return done() && _message.header.length <= sizeof(_message) && _message.header.crc == buffer_crc16(reinterpret_cast(&_message) + 4, _message.header.length - 4); }