diff --git a/examples/tinymqtt-test/tinymqtt-test.ino b/examples/tinymqtt-test/tinymqtt-test.ino index f03880e..9e07ebe 100644 --- a/examples/tinymqtt-test/tinymqtt-test.ino +++ b/examples/tinymqtt-test/tinymqtt-test.ino @@ -311,6 +311,12 @@ using ClientFunction = void(*)(std::string& cmd, MqttClient* publish); void loop() { + static long count; + if (MqttClient::counter != count) + { + Serial << "# " << MqttClient::counter << endl; + count = MqttClient::counter; + } for(auto it: brokers) it.second->loop(); diff --git a/src/TinyMqtt.cpp b/src/TinyMqtt.cpp index f82b527..09b6596 100644 --- a/src/TinyMqtt.cpp +++ b/src/TinyMqtt.cpp @@ -522,8 +522,15 @@ void MqttMessage::incoming(char in_byte) vheader = buffer.length(); if (size==0) state = Complete; + else if (size > 500) // TODO magic + { + state = Error; + } else + { + buffer.reserve(size); state = VariableHeader; + } } break; case VariableHeader: