mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-14 03:30:02 +00:00
fix initialize handling in interactive mode
This commit is contained in:
parent
0d0a1ab5f2
commit
d7169a342c
@ -57,6 +57,11 @@ void fsm_sendSuccess(const char *text)
|
||||
|
||||
void fsm_sendFailure(FailureType code, const char *text)
|
||||
{
|
||||
if (protectAbortedByInitialize) {
|
||||
fsm_msgInitialize((Initialize *)0);
|
||||
protectAbortedByInitialize = false;
|
||||
return;
|
||||
}
|
||||
RESP_INIT(Failure);
|
||||
resp->has_code = true;
|
||||
resp->code = code;
|
||||
|
@ -29,6 +29,8 @@
|
||||
#include "util.h"
|
||||
#include "debug.h"
|
||||
|
||||
bool protectAbortedByInitialize = false;
|
||||
|
||||
bool protectButton(ButtonRequestType type, bool confirm_only)
|
||||
{
|
||||
ButtonRequest resp;
|
||||
@ -66,7 +68,7 @@ bool protectButton(ButtonRequestType type, bool confirm_only)
|
||||
|
||||
if (msg_tiny_id == MessageType_MessageType_Cancel || msg_tiny_id == MessageType_MessageType_Initialize) {
|
||||
if (msg_tiny_id == MessageType_MessageType_Initialize) {
|
||||
fsm_msgInitialize((Initialize *)msg_tiny);
|
||||
protectAbortedByInitialize = true;
|
||||
}
|
||||
msg_tiny_id = 0xFFFF;
|
||||
result = false;
|
||||
@ -115,7 +117,7 @@ const char *requestPin(PinMatrixRequestType type, const char *text)
|
||||
if (msg_tiny_id == MessageType_MessageType_Cancel || msg_tiny_id == MessageType_MessageType_Initialize) {
|
||||
pinmatrix_done(0);
|
||||
if (msg_tiny_id == MessageType_MessageType_Initialize) {
|
||||
fsm_msgInitialize((Initialize *)msg_tiny);
|
||||
protectAbortedByInitialize = true;
|
||||
}
|
||||
msg_tiny_id = 0xFFFF;
|
||||
usbTiny(0);
|
||||
@ -209,7 +211,7 @@ bool protectPassphrase(void)
|
||||
}
|
||||
if (msg_tiny_id == MessageType_MessageType_Cancel || msg_tiny_id == MessageType_MessageType_Initialize) {
|
||||
if (msg_tiny_id == MessageType_MessageType_Initialize) {
|
||||
fsm_msgInitialize((Initialize *)msg_tiny);
|
||||
protectAbortedByInitialize = true;
|
||||
}
|
||||
msg_tiny_id = 0xFFFF;
|
||||
result = false;
|
||||
|
@ -28,4 +28,6 @@ bool protectPin(bool use_cached);
|
||||
bool protectChangePin(void);
|
||||
bool protectPassphrase(void);
|
||||
|
||||
extern bool protectAbortedByInitialize;
|
||||
|
||||
#endif
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 94d4a3733ed10c6db9225a23edcdfee6c7fcb2b2
|
||||
Subproject commit 44116b8a7405299be5de8353e9e624538b4dac92
|
Loading…
Reference in New Issue
Block a user