BugFix: MQTTSNDeserialize_XXXX() functions don't return error code when

error occurs.

Do not store the length of packet into rc.

If the packet is incorrect, skip the processing that follows.

Bugfix: Print out the value of TopicId in SUBACK and UNSUBACK. 
 
Signed-off-by: tomoaki <tomoaki@tomy-tech.com>
This commit is contained in:
tomoaki
2017-05-19 09:44:51 +09:00
parent 1b867589e5
commit 5c278f1aec
14 changed files with 64 additions and 43 deletions

View File

@@ -41,7 +41,10 @@ void MQTTSNSubscribeHandler::handleSubscribe(Client* client, MQTTSNPacket* packe
MQTTSN_topicid topicFilter;
Topic* topic = 0;
packet->getSUBSCRIBE(&dup, &qos, &msgId, &topicFilter);
if ( packet->getSUBSCRIBE(&dup, &qos, &msgId, &topicFilter) == 0 )
{
return;
}
if (topicFilter.type <= MQTTSN_TOPIC_TYPE_SHORT)
{
@@ -139,7 +142,10 @@ void MQTTSNSubscribeHandler::handleUnsubscribe(Client* client, MQTTSNPacket* pac
uint16_t msgId;
MQTTSN_topicid topicFilter;
packet->getUNSUBSCRIBE(&msgId, &topicFilter);
if ( packet->getUNSUBSCRIBE(&msgId, &topicFilter) == 0 )
{
return;
}
if ( topicFilter.type == MQTTSN_TOPIC_TYPE_PREDEFINED )
{