Skip to content

Commit ea96633

Browse files
author
brentru
committed
update recv_len to master, bound pid to 0 so it can never be unbound
1 parent f0907a4 commit ea96633

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

adafruit_minimqtt/adafruit_minimqtt.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -890,6 +890,7 @@ def _wait_for_msg(self, timeout=0.1):
890890
self._recv_into(topic, topic_len)
891891
topic = str(topic, "utf-8")
892892
sz -= topic_len + 2
893+
pid = 0
893894
if res[0] & 0x06:
894895
pid = bytearray(2)
895896
self._recv_into(pid, 2)
@@ -918,13 +919,14 @@ def _wait_for_msg(self, timeout=0.1):
918919

919920

920921
def _recv_len(self):
922+
"""Unpack MQTT message length."""
921923
n = 0
922924
sh = 0
923925
b = bytearray(1)
924926
while True:
925-
self._recv_into(b, 1)
926-
n |= (b[0] & 0x7F) << sh
927-
if not b[0] & 0x80:
927+
b = self._sock_exact_recv(1)[0]
928+
n |= (b & 0x7F) << sh
929+
if not b & 0x80:
928930
return n
929931
sh += 7
930932

0 commit comments

Comments
 (0)