mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-26 09:28:13 +00:00
apps.fido_u2f: handle init cont frame
This commit is contained in:
parent
13a91451f6
commit
2f40fa5363
@ -187,6 +187,11 @@ def read_cmd(iface: int) -> Cmd:
|
|||||||
datalen = len(data)
|
datalen = len(data)
|
||||||
seq = 0
|
seq = 0
|
||||||
|
|
||||||
|
if ifrm.cmd & _TYPE_MASK == _TYPE_CONT:
|
||||||
|
# unexpected cont packet, abort current msg
|
||||||
|
log.warning(__name__, '_TYPE_CONT')
|
||||||
|
return None
|
||||||
|
|
||||||
if datalen < bcnt:
|
if datalen < bcnt:
|
||||||
databuf = bytearray(bcnt)
|
databuf = bytearray(bcnt)
|
||||||
utils.memcpy(databuf, 0, data, 0, bcnt)
|
utils.memcpy(databuf, 0, data, 0, bcnt)
|
||||||
@ -255,6 +260,8 @@ def handle_reports(iface: int):
|
|||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
req = yield from read_cmd(iface)
|
req = yield from read_cmd(iface)
|
||||||
|
if req is None:
|
||||||
|
continue
|
||||||
resp = yield from dispatch_cmd(req)
|
resp = yield from dispatch_cmd(req)
|
||||||
send_cmd(resp, iface)
|
send_cmd(resp, iface)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
Loading…
Reference in New Issue
Block a user