mirror of
https://github.com/eclipse/paho.mqtt-sn.embedded-c.git
synced 2025-12-13 15:36:51 +01:00
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:
@@ -185,7 +185,7 @@ struct LUdpConfig{
|
|||||||
/*=================================
|
/*=================================
|
||||||
* Starting prompt
|
* Starting prompt
|
||||||
==================================*/
|
==================================*/
|
||||||
#define TESTER_VERSION " * Version: 0.1.0"
|
#define TESTER_VERSION " * Version: 1.1.0"
|
||||||
|
|
||||||
#define PAHO_COPYRIGHT0 " * MQTT-SN Gateway Tester"
|
#define PAHO_COPYRIGHT0 " * MQTT-SN Gateway Tester"
|
||||||
#define PAHO_COPYRIGHT1 " * Part of Project Paho in Eclipse"
|
#define PAHO_COPYRIGHT1 " * Part of Project Paho in Eclipse"
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ void LSubscribeManager::responce(const uint8_t* msg)
|
|||||||
{
|
{
|
||||||
tt->add((char*) elm->topicName, topicId, elm->topicType, elm->callback);
|
tt->add((char*) elm->topicName, topicId, elm->topicType, elm->callback);
|
||||||
getElement(msgId)->done = SUB_DONE;
|
getElement(msgId)->done = SUB_DONE;
|
||||||
DISPLAY("\033[0m\033[0;32m Topic \"%s\" Id : %d was Subscribed. \033[0m\033[0;37m\n\n", getElement(msgId)->topicName, getElement(msgId)->topicId);
|
DISPLAY("\033[0m\033[0;32m Topic \"%s\" Id : %d was Subscribed. \033[0m\033[0;37m\n\n", getElement(msgId)->topicName, topicId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -239,7 +239,7 @@ void LSubscribeManager::responce(const uint8_t* msg)
|
|||||||
{
|
{
|
||||||
LTopicTable* tt = theClient->getGwProxy()->getTopicTable();
|
LTopicTable* tt = theClient->getGwProxy()->getTopicTable();
|
||||||
tt->setCallback(elm->topicName, 0);
|
tt->setCallback(elm->topicName, 0);
|
||||||
DISPLAY("\033[0m\033[0;32m Topic \"%s\" Id : %d was Unsubscribed. \033[0m\033[0;37m\n\n", getElement(msgId)->topicName, getElement(msgId)->topicId);
|
DISPLAY("\033[0m\033[0;32m Topic \"%s\" was Unsubscribed. \033[0m\033[0;37m\n\n", getElement(msgId)->topicName);
|
||||||
remove(getElement(msgId));
|
remove(getElement(msgId));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -69,7 +69,10 @@ void MQTTSNConnectionHandler::handleSearchgw(MQTTSNPacket* packet)
|
|||||||
void MQTTSNConnectionHandler::handleConnect(Client* client, MQTTSNPacket* packet)
|
void MQTTSNConnectionHandler::handleConnect(Client* client, MQTTSNPacket* packet)
|
||||||
{
|
{
|
||||||
MQTTSNPacket_connectData data;
|
MQTTSNPacket_connectData data;
|
||||||
packet->getCONNECT(&data);
|
if ( packet->getCONNECT(&data) == 0 )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* clear ConnectData of Client */
|
/* clear ConnectData of Client */
|
||||||
Connect* connectData = client->getConnectData();
|
Connect* connectData = client->getConnectData();
|
||||||
@@ -142,7 +145,10 @@ void MQTTSNConnectionHandler::handleWilltopic(Client* client, MQTTSNPacket* pack
|
|||||||
uint8_t willRetain;
|
uint8_t willRetain;
|
||||||
MQTTSNString willTopic;
|
MQTTSNString willTopic;
|
||||||
|
|
||||||
packet->getWILLTOPIC(&willQos, &willRetain, &willTopic);
|
if ( packet->getWILLTOPIC(&willQos, &willRetain, &willTopic) == 0 )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
client->setWillTopic(willTopic);
|
client->setWillTopic(willTopic);
|
||||||
Connect* connectData = client->getConnectData();
|
Connect* connectData = client->getConnectData();
|
||||||
|
|
||||||
@@ -168,17 +174,6 @@ void MQTTSNConnectionHandler::handleWillmsg(Client* client, MQTTSNPacket* packet
|
|||||||
if ( !client->isWaitWillMsg() )
|
if ( !client->isWaitWillMsg() )
|
||||||
{
|
{
|
||||||
DEBUGLOG(" MQTTSNConnectionHandler::handleWillmsg WaitWillMsgFlg is off.\n");
|
DEBUGLOG(" MQTTSNConnectionHandler::handleWillmsg WaitWillMsgFlg is off.\n");
|
||||||
//if ( !client->isSecureNetwork() )
|
|
||||||
//{
|
|
||||||
// /* create CONNACK message */
|
|
||||||
// MQTTSNPacket* connack = new MQTTSNPacket();
|
|
||||||
// connack->setCONNACK(MQTTSN_RC_REJECTED_CONGESTED);
|
|
||||||
|
|
||||||
// /* return to the client */
|
|
||||||
// Event* evt = new Event();
|
|
||||||
// evt->setClientSendEvent(client, connack);
|
|
||||||
// _gateway->getClientSendQue()->post(evt);
|
|
||||||
//}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +183,10 @@ void MQTTSNConnectionHandler::handleWillmsg(Client* client, MQTTSNPacket* packet
|
|||||||
if( client->isConnectSendable() )
|
if( client->isConnectSendable() )
|
||||||
{
|
{
|
||||||
/* save WillMsg in the client */
|
/* save WillMsg in the client */
|
||||||
packet->getWILLMSG(&willmsg);
|
if ( packet->getWILLMSG(&willmsg) == 0 )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
client->setWillMsg(willmsg);
|
client->setWillMsg(willmsg);
|
||||||
|
|
||||||
/* create CONNECT message */
|
/* create CONNECT message */
|
||||||
@@ -216,7 +214,10 @@ void MQTTSNConnectionHandler::handleDisconnect(Client* client, MQTTSNPacket* pac
|
|||||||
_gateway->getClientSendQue()->post(ev);
|
_gateway->getClientSendQue()->post(ev);
|
||||||
|
|
||||||
uint16_t duration = 0;
|
uint16_t duration = 0;
|
||||||
packet->getDISCONNECT(&duration);
|
if ( packet->getDISCONNECT(&duration) == 0 )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
if ( duration == 0 )
|
if ( duration == 0 )
|
||||||
{
|
{
|
||||||
MQTTGWPacket* mqMsg = new MQTTGWPacket();
|
MQTTGWPacket* mqMsg = new MQTTGWPacket();
|
||||||
|
|||||||
@@ -56,7 +56,10 @@ void MQTTSNPublishHandler::handlePublish(Client* client, MQTTSNPacket* packet)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
packet->getPUBLISH(&dup, &qos, &retained, &msgId, &topicid, &payload, &payloadlen);
|
if ( packet->getPUBLISH(&dup, &qos, &retained, &msgId, &topicid, &payload, &payloadlen) ==0 )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
pub.msgId = msgId;
|
pub.msgId = msgId;
|
||||||
pub.header.bits.dup = dup;
|
pub.header.bits.dup = dup;
|
||||||
pub.header.bits.qos = qos;
|
pub.header.bits.qos = qos;
|
||||||
@@ -180,7 +183,12 @@ void MQTTSNPublishHandler::handlePuback(Client* client, MQTTSNPacket* packet)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
MQTTGWPacket* pubAck = new MQTTGWPacket();
|
MQTTGWPacket* pubAck = new MQTTGWPacket();
|
||||||
packet->getPUBACK(&topicId, &msgId, &rc);
|
|
||||||
|
if ( packet->getPUBACK(&topicId, &msgId, &rc) == 0 )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ( rc == MQTTSN_RC_ACCEPTED)
|
if ( rc == MQTTSN_RC_ACCEPTED)
|
||||||
{
|
{
|
||||||
pubAck->setAck(PUBACK, msgId);
|
pubAck->setAck(PUBACK, msgId);
|
||||||
@@ -202,7 +210,10 @@ void MQTTSNPublishHandler::handleAck(Client* client, MQTTSNPacket* packet, uint8
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
packet->getACK(&msgId);
|
if ( packet->getACK(&msgId) == 0 )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
MQTTGWPacket* ackPacket = new MQTTGWPacket();
|
MQTTGWPacket* ackPacket = new MQTTGWPacket();
|
||||||
ackPacket->setAck(packetType, msgId);
|
ackPacket->setAck(packetType, msgId);
|
||||||
Event* ev1 = new Event();
|
Event* ev1 = new Event();
|
||||||
@@ -223,7 +234,10 @@ void MQTTSNPublishHandler::handleRegister(Client* client, MQTTSNPacket* packet)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
MQTTSNPacket* regAck = new MQTTSNPacket();
|
MQTTSNPacket* regAck = new MQTTSNPacket();
|
||||||
packet->getREGISTER(&id, &msgId, &topicName);
|
if ( packet->getREGISTER(&id, &msgId, &topicName) == 0 )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
topicid.type = MQTTSN_TOPIC_TYPE_NORMAL;
|
topicid.type = MQTTSN_TOPIC_TYPE_NORMAL;
|
||||||
topicid.data.long_.len = topicName.lenstring.len;
|
topicid.data.long_.len = topicName.lenstring.len;
|
||||||
|
|||||||
@@ -41,7 +41,10 @@ void MQTTSNSubscribeHandler::handleSubscribe(Client* client, MQTTSNPacket* packe
|
|||||||
MQTTSN_topicid topicFilter;
|
MQTTSN_topicid topicFilter;
|
||||||
Topic* topic = 0;
|
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)
|
if (topicFilter.type <= MQTTSN_TOPIC_TYPE_SHORT)
|
||||||
{
|
{
|
||||||
@@ -139,7 +142,10 @@ void MQTTSNSubscribeHandler::handleUnsubscribe(Client* client, MQTTSNPacket* pac
|
|||||||
uint16_t msgId;
|
uint16_t msgId;
|
||||||
MQTTSN_topicid topicFilter;
|
MQTTSN_topicid topicFilter;
|
||||||
|
|
||||||
packet->getUNSUBSCRIBE(&msgId, &topicFilter);
|
if ( packet->getUNSUBSCRIBE(&msgId, &topicFilter) == 0 )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ( topicFilter.type == MQTTSN_TOPIC_TYPE_PREDEFINED )
|
if ( topicFilter.type == MQTTSN_TOPIC_TYPE_PREDEFINED )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -200,7 +200,7 @@ int MQTTSNDeserialize_pingresp(unsigned char* buf, int buflen)
|
|||||||
int mylen;
|
int mylen;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata < 2)
|
if (enddata - curdata < 2)
|
||||||
goto exit;
|
goto exit;
|
||||||
@@ -428,7 +428,7 @@ int MQTTSNDeserialize_willtopicresp(int* resp_rc, unsigned char* buf, int buflen
|
|||||||
int mylen;
|
int mylen;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - buf < 3)
|
if (enddata - buf < 3)
|
||||||
goto exit;
|
goto exit;
|
||||||
@@ -460,7 +460,7 @@ int MQTTSNDeserialize_willmsgresp(int* resp_rc, unsigned char* buf, int buflen)
|
|||||||
int mylen;
|
int mylen;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - buf < 3)
|
if (enddata - buf < 3)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ int MQTTSNDeserialize_disconnect(int* duration, unsigned char* buf, int buflen)
|
|||||||
int mylen;
|
int mylen;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata < 1)
|
if (enddata - curdata < 1)
|
||||||
goto exit;
|
goto exit;
|
||||||
@@ -202,7 +202,7 @@ int MQTTSNDeserialize_pingreq(MQTTSNString* clientID, unsigned char* buf, int le
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, len, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, len, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata < 1)
|
if (enddata - curdata < 1)
|
||||||
goto exit;
|
goto exit;
|
||||||
@@ -265,7 +265,7 @@ int MQTTSNDeserialize_willtopic1(int *willQoS, unsigned char *willRetain, MQTTSN
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, len, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, len, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata > buf + len)
|
if (enddata > buf + len)
|
||||||
goto exit;
|
goto exit;
|
||||||
@@ -327,7 +327,7 @@ int MQTTSNDeserialize_willmsg1(MQTTSNString* willMsg, unsigned char* buf, int le
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, len, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, len, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata > buf + len)
|
if (enddata > buf + len)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ int MQTTSNDeserialize_publish(unsigned char* dup, int* qos, unsigned char* retai
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata > buflen)
|
if (enddata - curdata > buflen)
|
||||||
goto exit;
|
goto exit;
|
||||||
@@ -95,7 +95,7 @@ int MQTTSNDeserialize_puback(unsigned short* topicid, unsigned short* packetid,
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata > buflen)
|
if (enddata - curdata > buflen)
|
||||||
goto exit;
|
goto exit;
|
||||||
@@ -130,7 +130,7 @@ int MQTTSNDeserialize_ack(unsigned char* type, unsigned short* packetid, unsigne
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata > buflen)
|
if (enddata - curdata > buflen)
|
||||||
goto exit;
|
goto exit;
|
||||||
@@ -166,7 +166,7 @@ int MQTTSNDeserialize_register(unsigned short* topicid, unsigned short* packetid
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata > buflen)
|
if (enddata - curdata > buflen)
|
||||||
goto exit;
|
goto exit;
|
||||||
@@ -206,7 +206,7 @@ int MQTTSNDeserialize_regack(unsigned short* topicid, unsigned short* packetid,
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata > buflen)
|
if (enddata - curdata > buflen)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ int MQTTSNDeserialize_advertise(unsigned char* gatewayid, unsigned short* durati
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata > buflen)
|
if (enddata - curdata > buflen)
|
||||||
goto exit;
|
goto exit;
|
||||||
@@ -105,7 +105,7 @@ int MQTTSNDeserialize_gwinfo(unsigned char* gatewayid, unsigned short* gatewayad
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata > buflen)
|
if (enddata - curdata > buflen)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ int MQTTSNDeserialize_searchgw(unsigned char* radius, unsigned char* buf, int bu
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata > buflen)
|
if (enddata - curdata > buflen)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ int MQTTSNDeserialize_suback(int* qos, unsigned short* topicid, unsigned short*
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata > buflen)
|
if (enddata - curdata > buflen)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ int MQTTSNDeserialize_subscribe(unsigned char* dup, int* qos, unsigned short* pa
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata > buflen)
|
if (enddata - curdata > buflen)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ int MQTTSNDeserialize_unsuback(unsigned short* packetid, unsigned char* buf, int
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata > buflen)
|
if (enddata - curdata > buflen)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ int MQTTSNDeserialize_unsubscribe(unsigned short* packetid, MQTTSN_topicid* topi
|
|||||||
int mylen = 0;
|
int mylen = 0;
|
||||||
|
|
||||||
FUNC_ENTRY;
|
FUNC_ENTRY;
|
||||||
curdata += (rc = MQTTSNPacket_decode(curdata, buflen, &mylen)); /* read length */
|
curdata += MQTTSNPacket_decode(curdata, buflen, &mylen); /* read length */
|
||||||
enddata = buf + mylen;
|
enddata = buf + mylen;
|
||||||
if (enddata - curdata > buflen)
|
if (enddata - curdata > buflen)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|||||||
Reference in New Issue
Block a user