mirror of
https://github.com/meshtastic/firmware.git
synced 2025-04-26 09:59:01 +00:00
Merge pull request #1479 from meshtastic/ProtoFix
If we get an unreadable buffer, don't try to process it.
This commit is contained in:
commit
3df5ec0b11
@ -77,10 +77,13 @@ template <class T> class ProtobufModule : protected SinglePortModule
|
|||||||
T *decoded = NULL;
|
T *decoded = NULL;
|
||||||
if (mp.which_payloadVariant == MeshPacket_decoded_tag && mp.decoded.portnum == ourPortNum) {
|
if (mp.which_payloadVariant == MeshPacket_decoded_tag && mp.decoded.portnum == ourPortNum) {
|
||||||
memset(&scratch, 0, sizeof(scratch));
|
memset(&scratch, 0, sizeof(scratch));
|
||||||
if (pb_decode_from_bytes(p.payload.bytes, p.payload.size, fields, &scratch))
|
if (pb_decode_from_bytes(p.payload.bytes, p.payload.size, fields, &scratch)) {
|
||||||
decoded = &scratch;
|
decoded = &scratch;
|
||||||
else
|
} else {
|
||||||
DEBUG_MSG("Error decoding protobuf module!\n");
|
DEBUG_MSG("Error decoding protobuf module!\n");
|
||||||
|
// if we can't decode it, nobody can process it!
|
||||||
|
return ProcessMessage::STOP;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return handleReceivedProtobuf(mp, decoded) ? ProcessMessage::STOP : ProcessMessage::CONTINUE;
|
return handleReceivedProtobuf(mp, decoded) ? ProcessMessage::STOP : ProcessMessage::CONTINUE;
|
||||||
|
Loading…
Reference in New Issue
Block a user