mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2024-12-30 10:26:58 +01:00
fix crash when 0-length mqtt buffers arrive
Which is what happens when you "clear" retained messages
This commit is contained in:
parent
5175775b1d
commit
ae9d576bad
2 changed files with 5 additions and 4 deletions
|
@ -1756,7 +1756,7 @@
|
|||
device supports, or you may have recently removed its last way of
|
||||
connecting.)</string>
|
||||
<!-- -->
|
||||
<string name="connstat_net_fmt">Network status for game (ID=%2$d) connected via
|
||||
<string name="connstat_net_fmt">Network status for game (ID=%2$X) connected via
|
||||
%1$s:</string>
|
||||
|
||||
<!-- Debug-only menuitem to launch net status info -->
|
||||
|
|
|
@ -464,7 +464,7 @@ void
|
|||
dvc_parseMQTTPacket( XW_DUtilCtxt* dutil, XWEnv xwe, const XP_UCHAR* topic,
|
||||
const XP_U8* buf, XP_U16 len )
|
||||
{
|
||||
XP_LOGFF( "(topic=%s)", topic );
|
||||
XP_LOGFF( "(topic=%s, len=%d)", topic, len );
|
||||
|
||||
MQTTDevID myID;
|
||||
dvc_getMQTTDevID( dutil, xwe, &myID );
|
||||
|
@ -474,8 +474,9 @@ dvc_parseMQTTPacket( XW_DUtilCtxt* dutil, XWEnv xwe, const XP_UCHAR* topic,
|
|||
XWStreamCtxt* stream = mkStream( dutil );
|
||||
stream_putBytes( stream, buf, len );
|
||||
|
||||
XP_U8 proto = stream_getU8( stream );
|
||||
if ( proto == PROTO_1 || proto == PROTO_2 || proto == PROTO_3 ) {
|
||||
XP_U8 proto = 0;
|
||||
if ( stream_gotU8( stream, &proto )
|
||||
&& (proto == PROTO_1 || proto == PROTO_2 || proto == PROTO_3 ) ) {
|
||||
MQTTDevID senderID;
|
||||
stream_getBytes( stream, &senderID, sizeof(senderID) );
|
||||
senderID = be64toh( senderID );
|
||||
|
|
Loading…
Reference in a new issue